#1 楼
如果索引很小(我相信少于8页),它将使用混合范围。因此,由于住房范围将包含来自多个索引的页面,因此似乎仍然存在碎片。由于这个原因,以及在如此小的索引中碎片是通常可以忽略不计,实际上只应重建具有特定页面阈值的索引。最佳做法是重建至少1000页的碎片索引。
#2 楼
如果索引很大,也会发生这种情况。我在具有约700m行的表上有一些索引,但无法对30%以下的磁盘碎片整理。问题是数据库内部没有足够的连续可用空间来连续排列索引。
要解决不会进行碎片整理的非常大的索引,BEST解决方案是预先调整新数据库的大小并对其进行大小调整。将所有对象移至该数据库,然后在此处重新创建索引。
#3 楼
我一直在为此苦苦挣扎,就像JNK I一样,尽管问题仍然是磁盘上的可用空间和物理碎片。但是,您在SSD SAN上如何处理?我现在发现只包含index_level = 0是一个好主意。这是在Ola Hallengren的脚本中完成的。
另一个改进是
REBUILD With (maxdop = 1)
这样可以确保最大程度的改进。
评论
相关:dba.stackexchange.com/questions/5365/…