现在的位置: 首页 > 综合 > 正文

文本执行计划

2018年01月22日 ⁄ 综合 ⁄ 共 1078字 ⁄ 字号 评论关闭

图形执行计划很有用,是由于其易读。不过,关于运算符的过多数据信息并不立即可以看到,在“工具提示“窗口中显示的信息也有所限制,“属性”窗口则显示完整的数据信息。要是有一种方法一次可以查看所有的数据信息该有多好呀! 

1.文本估计计划

             要启用文本执行计划的文本版本,只需在查询前运行以下命令:

             SET SHOWPLAN_ALL ON;

这里需要注意的是:一旦SHOWPLAN_ALL设为ON,则会收集后续即将执行的T-SQL语句,不过这些语句并不真正地执行,因此,我们获得了其估计计划。在收集完这些信息后一定要将此SHOWPLAN_ALL开关设为OFF。假如你忘记这一点,对于提交的CREATEUPDATEDELETE语句都将不会被执行。

若要关闭SHOWPLAN_ALL开关,只需要简单地执行:

SET SHOWPLAN_ALL OFF 

2.文本的实际执行计划

      要启用或关闭实际执行计划的文本版本,请使用下面的命令:

      SET STATISTICS PROFILE ON

      以及:

      SET STATISTICS PROFILE OFF

解释文本计划

      这里还是使用先前讨论图形执行计划时使用的最简单的查询,因此执行以下语句:

      SET SHOWPLAN_ALL ON;

GO

SELECT *

FROM dbo.DatabaseLog;

Go

SET SHOWPLAN_ALL OFF;

GO

      执行完上面的查询后,在结果面板中显示估计计划。如下图所示的:

图6:文本执行计划

第一行显示的是提交的SELECT语句执行结果,紧接着是查询计划内发生的物理运算符,在本例中只有一行,即表扫描。

      随着逐步深入,在以后的章节中将会看到更为复杂的文本计划,或许你很快意识到这些计划分析起来并不与图形计划一样容易。从查询中并没有容易掌握的方法,如先前我们在图形执计划中采用的“自右至左”的分析方法。不过你可以借助于数据的缩进和“|”符号(连接父子语句)的帮助从中间开始向右分析。

      除了第一列外,在“工具提示”窗口或“属性”窗口中隐藏的详细信息也显示一小部分,多数即将在此看到的信息会更多,因此,对于图形执行计划中的NODE ID,并不需要找出某个节点的父节点。而在SHOWPLAN_ALL中,我们看到有一个Parent的节点,如同从右查看,你将会看到许多其它熟悉的列,如TotalSubTreeCostEstimateRows等等。有些列很难进行分析,如Defined List,以逗号分隔的列表。

抱歉!评论已关闭.