索引碎片化?是否不可避免

The*_*war 2 index sql-server fragmentation

这是@martin smith 优秀答案的后续问题/sf/ask/87614551/

在那之后,我观看了 Paul randal 的 MCM 视频,该视频说明了为什么索引碎片在仅对大表的大型扫描中更重要。 ..

假设我有一个大表和身份作为聚集键,并且没有对聚集键进行更新,并且所有页面都按逻辑顺序排列,Sql 是否保证所有这些页面都非常靠近磁盘... ,但在那之后许多插入也可能发生在其他表上,所以数据可能不会很接近......我的理解是否正确?

Rob*_*ley 5

这可能适用于您的聚集索引,但您也需要处理非聚集索引。他们也会遭受很多痛苦,而这通常是最重要的地方。

但你应该考虑影响。有时碎片化可能是一件大事(例如当您从堆中删除大量数据时),有时它真的不是一个大问题。与拼命避免碎片化相比,调整其他问题通常更重要。

  • 我想补充一点,由于寻道时间延迟,外部碎片的性能成本主要适用于针对旋转媒体的扫描。对于 SSD,这不是什么大问题。 (3认同)