MSSQL 重新生成索引,重新组织目录

> 5% 且 < = 30%

ALTER INDEX REORGANIZE

> 30%

ALTER INDEX REBUILD WITH (ONLINE = ON)*

 

*
重新生成索引能够协同执行,也足以脱机执行。重新组织目录始终联机执行。若要获得与重新组织挑选相似的可用性,应联合重新生成索引。

那么些值提供了2个大约教导标准,用于分明应在 ALTESportage INDEX REOLANDGANIZE 和
ALTE酷威 INDEX REBUILD
之间开始展览切换的点。可是,实际值大概会随气象而转变。必供给透过考试来规定最符合您环境的阈值。

相当的低的散装级别(小于
5%)不应通过这么些命令来化解,因为除去如此少量的零散所取得的收益始终远低于重新组织或另行生成索引的开发。

 

注:rebuild和rebuild
online的区别

一 、当rebuild 时貌似对原本索引举办INDEX FAST FULL SCAN。

贰 、当rebuild online的时决不原先索引而施行TABLE ACCESS FULL

叁 、rebuild和rebuild online都会发出sort,即须求用到temp表空间。

4、rebuild 会阻塞dml(curd等)语句而rebuild
online则不会。

伍 、rebuild
online时系统会发生1个SYS_JOURNAL_xxx的IOT类型的种类一时半刻日志表,全数rebuild
online时索引的生吉达记录在这几个表中,当新的目录成立完结后,把那么些表的笔录维护到新的目录中去,然后drop掉旧的目录,rebuild
online就到位了。

 

ref:https://msdn.microsoft.com/zh-cn/library/ms189858(v=sql.105).aspx

相关文章