SQL Server 有哪些查询优化工具?

11

有没有可以优化SQL Server 2005及以上版本查询的工具?

我搜索了但没有找到任何东西。

您有什么建议吗?

如果这个问题已经被提出过,请关闭它,但我没有看到类似的问题。


2
你可能没有看到重复项,因为除了人类的思维(或许辅助于SQL Profiler、Index Tuning Wizard等工具)之外,没有其他工具可以发现。 - John Saunders
我不太写 SQL,但是我经常收到这个问题,很抱歉。 - Saif al Harthi
关于扩展问题到涵盖该主题的书籍,您怎么看?我稍微尝试了一下dta(数据库调整助手),但大部分时间都感觉不知所措。 - bernd_k
SQL Profiler是一种工作负载记录工具,可用于输入到数据库引擎调整顾问中。 - JeffO
6个回答

32
迄今为止,我在优化MS SQL Server查询方面使用的最佳工具是Microsoft SQL Server Management Studio中的“包括实际执行计划”选项。它显示了服务器运行查询时所采取的执行路径的详细信息。(请注意,只有表中存在数据时才能发挥最佳效果。当然,没有足够的测试数据,任何优化都是纯理论。)
它基本上给你三件非常重要的事情:
1. 它告诉你哪些步骤需要最长的处理时间以及在该步骤中正在进行什么操作。 2. 它告诉你哪些步骤将最多的数据传递到下一步,包括多少条记录,这有助于识别您可以更加具体地选择数据并排除不必要的记录的位置。 3. 它为您提供了大量关于SQL Server内部工作原理和如何处理查询的洞察力。这种知识会随着时间的推移帮助您进行很多优化。

你有关于在全球范围内优化查询的技巧吗? - Nick N.

6

在SSMS中,选择“工具”-“数据库引擎调整顾问”,但此功能不适用于Express版本。


5

现在有一款非常好用且免费的工具,叫做来自SentryOne的Plan Explorer:https://sentryone.com/plan-explorer

(他们还有其他许多优化软件,比如专门用于Azure的软件等等。)


2

最好的查询优化器之一就是在SQL Management Studio中运行查询,然后检查查询计划。这将为您提供有关它正在使用哪些索引(或不使用哪些索引)以及如何更改查询以利用这些索引的线索。


0

不是要否定你的建议,但是在明确要求使用自动调整工具时,建议手动调整似乎有些平淡。这就像要求激光打印机却得到了提高书法技巧的建议一样。我理解个人成就的角度,但从工作角度来看,人们期望你能快速交付结果。 - alejandrob
也许他的观点是,你不能只是追求快速结果。就像你不能指望工具为你编写应用程序一样。在某个时候,你必须花时间学习和理解查询缓慢的原因。许多性能问题需要重写查询或存储过程。没有任何工具可以替代你完成这些工作。 - NickG

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接