了解SQL Server中的执行计划

时间:2018-07-05 21:26:28

标签: sql-server sql-execution-plan

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

如何确定我的查询是否执行正常?

这是什么意思:

This is an example of 1 of my query 1

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

1 个答案:

答案 0 :(得分:1)

坦率地说,这是投反对票(请参阅我的评论)。但是,明智的做法是阅读Microsoft的Technet文章,其中介绍了基于成本的优化程序,其中涵盖了您所要询问的内容。

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

最终,您尝试获取执行计划以显示聚簇索引查找(最佳),然后显示聚簇索引扫描(确定),聚簇索引扫描,索引扫描,并避免表扫描(即堆)。当然,这是我自己的看法。

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/