假设您的数据库索引碎片严重。假设该数据库由于数据文件频繁删除而有大量可用空间。这些可用空间并不连续。
如果我重建所有索引以消除碎片,然后重新组织数据库页面,使分配的页面和空闲页面连续,这是否会导致索引进一步碎片化?
我想问题可以这样提出:如果这很重要,我应该先做什么,重组还是重建?
答案1
您应该执行其中一个,但不能同时执行两个。两个操作的结果是一样的。您应该执行哪一个取决于索引的碎片程度,以及您是否希望同时更新统计信息(重建会更新索引的统计信息)。
这也取决于您拥有的版本。除非您拥有 SQL Server 2005 或更新版本的企业版或更高版本,否则重建索引是离线操作。
通常,当碎片化程度低于 70% 时,人们会开始对索引进行碎片整理,当碎片化程度高于 70% 时,人们会重建索引。