问:
碎片整理对SQL系统有什么作用?
A:连续数据库维护和监视是顺利运行SQL系统要考虑的关键要素。 创建并填充数据库后,最初会将数据放置在连续的物理位置(如果有足够的连续物理空间可用)。 因此,在这种情况下,数据的逻辑顺序和物理顺序可能相似,从而提高了性能。
修改,删除或更新数据时,相关索引也会自动更新以反映这些更改。 结果,索引变得零散,信息分散在整个存储空间中。 它更改了数据的物理顺序(因为丢失了连续分配),并且检索变得很耗时,从而导致数据库性能下降。
解决此问题的方法是定期执行碎片整理。 碎片整理实际上会重建或重新组织索引,以使数据的逻辑顺序与物理顺序匹配。 在执行任何碎片整理操作之前,应正确分析所有索引。 分析结果确定是否需要重组或重建。
碎片整理过程执行的两个主要操作是:
- 索引重组 –当碎片级别较低且性能未受到严重影响时,将执行索引重组。 此过程实际上是对叶级页面进行物理重新排序以匹配逻辑顺序。 它不会创建任何新页面。 它只会重新排序现有页面。 可以在系统在线时执行重组,而不会阻止正常的数据库操作。
- 索引重建 –当碎片处于更深层次且性能太慢时,将执行索引重建过程。 在此过程中,将删除原始索引并构建一个新的新索引。 因此,将物理和逻辑顺序重新设置为原始位置,从而提高了性能。 重建还可以根据需要创建新页面,并且可以在脱机或联机模式下执行。
因此,碎片整理应该是SQL Server维护过程的一部分,需要认真对待。 必须建立并遵循适当的查询分析计划。 根据查询分析输出,必须完成索引的重建或重组。 简而言之,碎片整理对于提高SQL系统的性能至关重要。