理解图形化执行计划 -- 第2部分:如何创建执行计划
英文原文:
http://www.sqlservercentral.com/articles/Execution+Plan/105772/
对于SQL Server数据库管理员和开发来说,能够理解和分析执行计划是一项非常重要且有益的技能。执行计划将查询的预估花销、索引使用和执行的操作文档化输出。所有的信息对于试着加速一个慢查询来说都是极其重要的。
这篇文章是关于图形化执行计划的三部分系列文章之一。第1部分解释了执行计划是什么,并讨论了预估和实际执行计划的不同。第2部分显示了如何创建预估和实际执行计划。最后,第3部分深入一个简单的图形化执行计划,并讨论了一些最普遍的查询中的操作。
为了分析一个执行计划,首先得创建它。预估和实际的执行计划都可以图形界面创建。查看这个系列的第1部分来学习预估和实际执行计划的不同。在创建一个图形化执行计划的上下文中,主要考虑到实际的执行计划提供了一些额外信息被用于分析查询。创建一个实际执行计划的不利之处是查询必须先运行一次才会创建它。对于一个长时间运行的查询,这可能不值得花费额外的时间在获得实际执行计划上。阅读并学习如何创建预估和实际的图形化执行计划。
如何在AdventureWork2012数据库创建执行计划
有四种方法创建预估执行计划。对于这个示例以下查询会被使用:
SELECT TOP 1000 [AddressID]
,[AddressLine1]
,[AddressLine2]
,[City]
,[StateProvinceID]
,[PostalCode]
,[SpatialLocation]
,[rowguid]
,[ModifiedDate]
FROM [AdventureWorks2012].[Person].[Address]
创建预估执行计划 -- 四种方法
有四种方法创建预估执行计划。
1.在SQL编辑器工具栏点击按钮(图1)
2.在编辑器窗口右击,并选择“Display Estimated Execution Plan”(图1)
3.Ctrl+L
4.在“Query”菜单下,选择“Display Estimated Execution Plan”(图2)
图1 创建预估执行计划
如上所示,要么在SQL编辑器工具栏点击“Display Estimated Execution Plan”,或者在查询窗口右击并选择“Display Estimated Execution Plan”,都会创建预估执行计划。
图2 从菜单创建预估执行计划
预估执行计划也可以通过在“Query”菜单下选择“Display Estimated Execution Plan”或者按下Ctrl+L来创建。
创建一个实际执行计划
有四种方法创建实际执行计划
1.在SQL编辑工具栏点击按钮(图3)
2.在编辑器窗口右击,并选择“Include Actual Execution Plan”(图3)
3.Ctrl+M
4.在“Query”菜单下,选择“Include Actual Execution Plan”(图4)
在完成以上步骤中的任何一个,执行查询。执行计划将会在底部窗口输出“Results”和“Messages”。
图3 创建实际执行计划
如上所示,要么在SQL编辑器工具栏点击“Include Actual Execution Plan”,或者在查询窗口右击并选择“Include Actual Execution Plan”,都会在查询执行后创建实际执行计划。
总结
创建一个图形化执行计划是一个简单的过程。SQL Server Management Studio提供了一些方法创建预估和实际的执行计划。阅读这个系列的第3部分来学习如何读懂和分析一个图形化执行计划。
参考
.显示图形化执行计划(SQL Server Management Studio),TechNet Library -- http://technet.microsoft.com/en-us/library/ms178071(v=sql.105).aspx
.Fritchey,Grant(2008),SQL Server执行计划,Simple Talk出版
.本文使用2008版,而第二版在2013年发行