代码之家  ›  专栏  ›  技术社区  ›  Bmw

从表中删除行是否会导致索引碎片?

  •  1
  • Bmw  · 技术社区  · 16 年前

    我从一张很大的桌子上移走了几行。然后我运行了一个通常在几秒钟内运行的查询,发现在删除行之后它运行得非常慢。我重新构建了索引并运行了查询,发现它又快了。删除这些行是否会导致索引碎片化?

    1 回复  |  直到 16 年前
        1
  •  4
  •   OMG Ponies    16 年前

    是的,删除行会影响索引,应进行维护以保持索引与现有数据相对同步。

    重建索引可能是不必要的-根据MS文档,只有当物理碎片达到或超过30%时,才需要这样做。 REORGANIZE 通常是一个更好的选择-可以将其视为对索引进行碎片整理。

    这是一个 good article series on SQL Server Index Fragmentation .

    推荐文章