【问题标题】:Understanding execution plan in SQL Server了解 SQL Server 中的执行计划
【发布时间】:2018-07-05 21:26:28
【问题描述】:

我需要了解如何阅读执行计划,我正在阅读一些文档,但我不清楚。

如何判断我的查询执行是否正常?

这是什么意思:

This is an example of 1 of my query1

  1. 嵌套循环
  2. 合并区间
  3. 聚集索引查找
  4. 串联
  5. 计算标量
  6. 排序

【问题讨论】:

  • 这有很多。远远超过论坛帖子可以进入的内容。每个步骤都有更多的细节,而不仅仅是一个名称。这是一个很好的起点。 google.com/…

标签: sql-server sql-execution-plan


【解决方案1】:

坦率地说,这被否决了(见我的评论)。但是,您最好阅读 Microsoft 的 Technet 关于基于成本的优化器的文章,该文章涵盖了您所询问的内容。

我会这么说,根据我的经验,如果执行计划推荐一个索引,那么我建议你认真考虑它,因为性能提升通常会实现,即使索引几乎没有意义(即 SQL Server 很漂亮)好,但不完美,知道它想要什么)。现在,如果您添加一个索引并且执行计划推荐了另一个索引,那么您可能需要考虑查看您返回的列;你是如何加入的;和/或您的餐桌设计。

最终,您试图让执行计划显示聚集索引查找(最佳),然后是聚集索引扫描(OK)、索引查找、索引扫描,并避免表扫描(即堆)。当然,这是我自己的看法。

https://technet.microsoft.com/en-us/library/2007.11.sqlquery.aspx

其他轻读:

http://www.dbjournal.ro/archive/16/16_4.pdf

https://nirajrules.wordpress.com/2009/06/10/cost-based-optimization-cbo-vs-rule-based-optimization-rbo/

对于从业者指南和讨论:

http://logicalread.com/sql-server-primary-key-vs-clustered-index-part-1-mb01/

http://logicalread.com/sql-server-primary-key-vs-clustered-index-part-2-mb01/

http://logicalread.com/sql-server-primary-key-vs-clustered-index-part-3-mb01/

【讨论】:

    猜你喜欢
    • 2021-12-09
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    • 2011-03-06
    • 2020-04-30
    • 2011-04-12
    • 1970-01-01
    相关资源
    最近更新 更多