我可以相信数据库引擎优化顾问的建议吗?

Raj*_*mar 5 index sql-server sql-server-2008-r2 index-tuning database-tuning-advisor

我们的数据库变大了,我们正在努力优化性能。

我们能否遵循数据库引擎优化顾问提供的建议,为其提供一个使用 Profiler 生成的 .trc 文件?

这是优化的好方法吗?这些建议有多准确?

Aar*_*and 10

调优顾问 (DTA) 可以提供有关缺失索引的信息,但结果的好坏取决于您提供的工作负载以及您解释结果和填补空白的能力。

  • 您的 .trc 文件可能只包含某些事件,而不是全部,并且可能不包括完整的商业周期。因此,如果您有大量的报告供人们在月底运行,那么您可能会遗漏工作负载中最重要的部分。
  • DTA 只考虑提高读取查询的性能,并没有考虑新索引对工作负载的写入部分会产生什么影响。索引不是免费的。
  • DTA 倾向于推荐多个冗余索引,它们仅在一个附加键列或一个包含列上有所不同。在很多情况下,一个索引可能能够满足为两个单独索引生成推荐的两个查询。

所以,这些信息可能很有用,但我永远不会让任何客户盲目地实现所有索引。您需要考虑更多的数据点。

例如,您如何得出添加索引将改善您遇到的任何性能问题的结论?您是否执行了任何基线并确定了任何瓶颈?

  • @Zane 当然,向他们学习,但不要只是按下“创建所有索引”按钮或它提供的任何东西。 (2认同)