【问题标题】:are there any Query Optimization Tools for SQL Server? [closed]SQL Server 是否有任何查询优化工具? [关闭]
【发布时间】:2011-05-25 13:14:01
【问题描述】:

是否有任何工具可以对 SQL Server 2005 及更高版本进行查询优化?

我已经搜索过,但没有找到任何东西。

你有什么推荐的?

如果在您关闭它之前重复了这个问题,但我没有看到任何类似的东西

【问题讨论】:

  • 您可能没有看到重复的内容,因为没有这样的工具 - 除了人类思维,可能还有 SQL Profiler、索引调整向导等的帮助。
  • 我不会写太多SQL,但我经常收到这个问题,对不起
  • 如何将问题扩展到涵盖该主题的书籍。我玩了一下 dta(数据库调优助手),大部分时间都在感受现在的情况。
  • SQL Profiler 是一个工作负载记录工具,用于输入数据库引擎优化顾问

标签: sql-server query-optimization


【解决方案1】:

到目前为止,我在 MS SQL Server 中用于优化查询的最佳工具是 Microsoft SQL Server Management Studio 中的“包括实际执行计划”选项。它显示有关运行查询时服务器所采用的执行路径的详细信息。 (请注意,当表格中有数据时,这效果最好。当然,如果没有大量的测试数据,任何优化都是纯理论的。)

它基本上给了你三个非常重要的东西:

  1. 它会告诉您哪些步骤花费的处理时间最多,以及它们在该步骤中正在做什么。
  2. 它会告诉您哪些步骤将最多的数据带到了下一步,包括有多少记录,这有助于确定您可以在哪些地方更具体地了解您想要的数据并排除不必要的记录。
  3. 它让您大量深入了解 SQL Server 的内部工作原理以及它对查询的作用。随着时间的推移,这些知识将帮助您优化很多东西。

【讨论】:

  • 您有关于全局优化查询的技巧吗?
【解决方案2】:

在 SSMS - 工具 |数据库引擎优化顾问 - 不适用于 Express 版本。

【讨论】:

    【解决方案3】:

    SentryOne 的 Plan Explorer 是一款非常好的工具,现在可以免费使用:https://sentryone.com/plan-explorer

    (他们还有许多其他优化软件,如 Azure 专用软件等)

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        正如 John Saunders 所说,您可以使用的最佳工具是您自己的思想。根据 bernd_k 的评论,这里有一些关于锐化该工具的建议。

        【讨论】:

        • 不想忽略您的建议,但在专门要求自动调整工具时,建议手动调整似乎有点乏味。这就像要求激光打印机并获得有关改进书法的建议。我是从个人成就的角度来理解的,但从工作的角度来看,你应该快速交付成果。
        • 也许他的意思是你不能只获得快速的结果。就像您无法获得为您编写应用程序的工具一样。在某些时候,您必须花时间学习和理解查询缓慢的原因。许多性能问题需要重写查询或存储过程。没有任何工具可以为您做到这一点。
        【解决方案6】:

        这也是监控和优化查询的好工具:

        Sql Monitor by Red Gate

        【讨论】:

          猜你喜欢
          • 2011-06-29
          • 2014-11-03
          • 2010-09-14
          • 1970-01-01
          • 2022-08-19
          • 2010-11-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多