4

我们一直在 SSMS 中使用相当多的包含实际执行计划功能来优化我们的查询。有时它会建议我们添加一个索引。我很好奇这个建议有多好/准确。例如,如果我正在分析一个查询并且没有建议添加任何索引,我是否可以安全地假设没有额外的索引可以提高性能?

如果不是这种情况,是否有更好的工具可以告诉我们应该添加的索引(或可以进行的其他优化)?

我们使用的是 SQL Server 2012。

4

1 回答 1

5

通常,切勿使用未经测试的此功能建议的索引。这些索引只查看一个查询,而不考虑整个工作负载。此外,它们通常会因不需要提高性能的列而过载。

缺少索引警告是一个很好的指示,表明附加索引会提高性能。但是,仅将它们用作起点。始终审查以确保它们有意义,并确保没有其他索引更有意义。

有些人推荐使用数据库调优顾问。在提出建议之前,它会查看总工作量。但即使在那里,我也希望在将它们应用到生产之前进行手动审查或至少进行良好的性能测试。

于 2013-08-02T13:22:13.057 回答