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

> 5% 且 < = 30%

ALTER INDEX REORGANIZE

> 30%

ALTER INDEX REBUILD WITH (ONLINE = ON)*

 

*
重新生成索引好联手执行,也足以脱机执行。重新组织目录始终同执行。若要落同重组织挑选相似之可用性,应同步重新生成索引。

这些价值提供了一个光景指导原则,用于确定应在 ALTER INDEX REORGANIZE 和
ALTER INDEX REBUILD
之间开展切换的触及。不过,实际值可能会见遵循气象只要变化。必须要通过考试来确定最适合您环境的阈值。

雅低的碎片级别(小于
5%)不应透过这些命令来解决,因为除去如此少量之零散所抱的进项始终远低于重新组织或者更生成索引的支出。

 

注:rebuild和rebuild
online的区别

1、当rebuild 时相似针对原来索引进行INDEX FAST FULL SCAN。

2、当rebuild online的经常不用原先索引而行TABLE ACCESS FULL

3、rebuild和rebuild online都见面有sort,即要用到temp表空间。

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

5、rebuild
online时系统会发一个SYS_JOURNAL_xxx的IOT类型的系即日志表,所有rebuild
online时索引的变通都记录在斯表中,当新的目录创建好后,把这表的记录维护到新的目中错过,然后drop掉旧的目录,rebuild
online就做到了。

 

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

相关文章