误区29: #可以在堆上整理聚簇索引堆的构造然后drop nooooooooooooo!!!除了缩小数据库,下拉是我认为最好的两件事。如果看到堆中的碎片通过sys.dm_db_index_physical_stats(或旧版本的dbcc showcontig),请不要安排重叠的碎片来构建聚集索引和删除聚集字符串。最好的方法是建立聚集索引,而不删除它。有很多数据可以解释如何选择理想的聚集索引键。——又窄又小。金伯利 的文章总结了这一点:越来越多的聚集关键是——聚集指数的辩论!(注意是基于sql server 2005版本)。也可以通过sql tables … rebuild清除sql server 2008中的堆碎片,但这和设置一个聚集索引再删除一样糟糕。如果你要问我为什么对它有这么多偏见,我来解释一下:非聚集索引中的每个索引都指向一个清除或指向索引键的链接。(请参阅:如果删除聚集索引会发生什么),该链接将以两种之一出现。如果非聚集索引表是一个堆,则该链接是一个明文。如果非聚集索引所在的表是聚合索引,则该链接是聚合索引键。如果你想了解更多,请查看文章底部的链接。所以不难看出,如果要把堆改成聚集索引,所有的非聚集索引都是无效的,所以所有的非聚集索引都需要重建。同样,如果删除了聚集索引的键,聚集索引的所有键都将无法存储在非聚集索引中,因此需要重新生成非聚集索引。简而言之,如果将索引设置为删除聚集索引,所有非聚集索引都将重新生成两次。如果您使用sql server 2008 为了对堆进行碎片整理,还需要重建所有的非聚集索引,因为所有的清除都将改变。那么,如果重建总索引呢?这取决于sql server的版本。您可以重建索引或更改索引。一个常见的误解是分区表的聚集索引键会改变,但事实并非如此。这些操作将导致非聚集索引的重建。请参见下面的列表:每个角度:当非聚集索引出现时,当。
了解更多sql错误302(sql302错误)相关内容请关注本站点。
