Transact-SQL SET语句选项用于显示执行计划信息,并生成XML和文本格式的输出。在本主题将列出这些选项并对其进行说明。
Showplan SET语句选项
Transact-SQL向SET语句提供下列选项,这些选项可以为您显示查询执行计划:
注意:
SHOWPLAN_XML、SHOWPLAN_ALL和SHOWPLAN_TEXT SET选项为每个批处理生成一个行集。STATISTICS XML和STATISTICS PROFILE SET选项为批处理中的每个选项生成一个行集。
SET SHOWPLAN_XML ON
此语句导致SQLServer不执行Transact-SQL语句。而Microsoft SQL Server返回有关如何在正确的XML文档中执行语句的执行计划信息。有关详细信息,请参阅SET SHOWPLAN_XML (Transact-SQL)。
SET SHOWPLAN_TEXT ON
执行该SET语句后,SQL Server以文本格式返回每个查询的执行计划信息。不执行Transact-SQL语句或批处理。有关详细信息,请参阅SET SHOWPLAN_TEXT (Transact-SQL)。
SET SHOWPLAN_ALL ON
该语句与SET SHOWPLAN_TEXT相似,但比SHOWPLAN_TEXT的输出格式更详细。有关详细信息,请参阅SET SHOWPLAN_ALL (Transact-SQL)。
SET STATISTICS XML ON
该语句执行后,除了返回常规结果集外,还返回每个语句的执行信息。输出是正确的XML文档集。SET STATISTICS XML ON为执行的每个语句生成一个XML输出文档。SET SHOWPLAN_XML ON和SET STATISTICS XML ON的不同之处在于第二个SET选项执行Transact-SQL语句或批处理。SET STATISTICS XML ON输出还包含有关各种操作符处理的实际行数和操作符的实际执行数。有关详细信息,请参阅SET STATISTICS XML (Transact-SQL)。
SET STATISTICS PROFILE ON
该语句执行后,除了返回常规结果集外,还返回每个语句的执行信息。两个SET语句选项都提供文本格式的输出。SET SHOWPLAN_ALL ON和SET STATISTICS PROFILE ON的不同之处在于第二个SET选项执行Transact-SQL语句或批处理。SET STATISTICS PROFILE ON输出还包含有关各种操作符处理的实际行数和操作符的实际执行数。有关详细信息,请参阅SET STATISTICS PROFILE (Transact-SQL)。
SET STATISTICS IO ON
显示Transact-SQL语句执行后生成的有关磁盘活动数量的信息。此SET选项生成文本输出。有关详细信息,请参阅SET STATISTICS IO (Transact-SQL)。
SET STATISTICS TIME ON
执行语句后,显示分析、编写和执行每个Transact-SQL语句所需的毫秒数。此SET选项生成文本输出。有关详细信息,请参阅SET STATISTICS TIME (Transact-SQL)。
使用Showplan SET语句选项的注意事项
使用SHOWPLAN SET选项显示执行计划时,不执行向服务器提交的语句。而是,SQL Server分析查询并显示(在一系列运算符中)应如何执行语句。
注意:
由于显示执行计划时未执行语句,因此没有实际执行Transact-SQL操作。例如,如果执行计划包含CREATE TABLE语句,由于不存在所涉及的创建的表,因此任何随后涉及该表的操作都将返回错误。但是,此规则有两种例外情况:使用SHOWPLAN SET选项时创建临时表;使用SHOWPLAN SET选项时执行USE db_name语句并尝试将数据库上下文更改为指定的db_name。
使用STATISTICS SET选项显示执行计划时,执行向服务器提交的Transact-SQL语句。
注意:
Showplan SET选项不显示有关加密存储过程或触发器的信息。
在未来的Showplan版本中计划不推荐使用的SET选项
在未来的SQL Server版本中,将不推荐使用下列Showplan SET选项。建议用户尽快学会使用较新的模式。下表列出了计划不推荐使用的Showplan SET选项和用户应开始使用的新SET选项。
不推荐使用的SET选项 使用新的SET选项
SET SHOWPLAN_TEXT
SET SHOWPLAN_XML
SET SHOWPLAN_ALL
SET SHOWPLAN_XML
SET STATISTICS PROFILE
SET STATISTICS XML