【问题标题】:Deleting rows from a table cause index fragmentation?从表中删除行会导致索引碎片?
【发布时间】:2010-02-25 19:06:28
【问题描述】:

我从一个非常大的表中删除了一些行。然后我运行了一个通常在几秒钟内运行的查询,发现它在删除行后运行非常缓慢。我重新构建了索引并运行了查询,发现它又快了。删除这些行会导致索引碎片化吗?

【问题讨论】:

    标签: sql sql-server database sql-server-2005 tsql


    【解决方案1】:

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

    重建索引可能是不必要的 - 根据 MS 文档,如果物理碎片达到 30% 或更多,您只需要这样做。 REORGANIZE 通常是更好的选择 - 将其视为对索引进行碎片整理。

    这是good article series on SQL Server Index Fragmentation。

    【讨论】:

    • 谢谢你链接我的那个页面很有帮助。
    • @Brent Ozar:很棒的文章 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    相关资源
    最近更新 更多