【问题标题】:Execution plan gives hint for different Indexes every time执行计划每次都会提示不同的索引
【发布时间】:2020-06-12 01:30:57
【问题描述】:

SQL Server 不断更改在表上构建非聚集索引的选项。

第一次,SQL Server 发出警告,要求在 18 列上建立索引以将性能提高 55%。

我建立了这些索引,然后 SQL 运行了 16 分钟 在执行结束时,它给出了新的警告,即在同一张表上建立不同的索引,以提高 70% 的性能。

但是,当我在实施新索引后运行 SQL 时,它运行了 30 多分钟。

对于在表名和包含选项之后的非集群应包含哪些属性有什么建议

【问题讨论】:

    标签: sql-server non-clustered-index


    【解决方案1】:

    您在查询计划中看到的是缺失索引功能。此功能是notoriously bad,用于识别有用的性能改进。我已经学会忽略它,除非计算出的改进超过 95% 左右。即便如此,这些建议通常已经被其他索引充分覆盖。

    我建议您删除刚刚创建的所有索引。之后,请将计划发布到https://www.brentozar.com/pastetheplan,并在新问题中将其链接到此处。从计划中可能会更清楚真正的问题是什么。

    【讨论】:

    • 感谢保罗的帮助
    猜你喜欢
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多