ITPub博客

首页 > Linux操作系统 > Linux操作系统 > (续)-文本执行计划

(续)-文本执行计划

原创 Linux操作系统 作者:bigholy 时间:2009-05-21 06:05:02 0 删除 编辑

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

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,以逗号分隔的列表。

未命名.JPG

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/355374/viewspace-600624/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-11-08

  • 博文量
    43
  • 访问量
    83569