用于生成显示计划的 Transact-SQL 语句
本主题列出了用于为 Showplan SET 选项和 SQL Server Profiler各事件类生成显示计划输出的 Transact-SQL 语句的类型。
注意 |
---|
对于加密的存储过程或触发器,不生成显示计划信息。 |
下表列出了哪些 Transact-SQL 语句可生成显示计划信息。
Transact-SQL 语句类型 |
Showplan SET 选项模式1 |
Statistics SET 选项模式2 |
Query Compile SQL Server Profiler 事件3 |
Query Execute SQL Server Profiler 事件4 |
---|---|---|---|---|
所有 DML(SELECT、INSERT、UPDATE 和 DELETE) |
是 |
是 |
是 |
是 |
所有仅影响元数据的 DDL。例如,CREATE TABLE。 例外情况将单独列出。 |
否 |
否 |
否 |
否 |
CREATE INDEX |
否 |
是,如果表不为空。 |
是 |
是,如果表不为空。 |
INSERT INTO... SELECT FROM (子查询) |
是 |
是 |
是 |
是 |
INSERT INTO... EXEC (子查询) |
否 |
否 |
是 |
是 |
自动创建或更新的统计信息 |
否 |
否 |
是 |
是 |
手动创建或更新的统计信息 |
否 |
否 |
是 |
是 |
动态 SQL |
否 |
是 |
是 |
是 |
EXECUTE stored_procedure |
是 |
是 |
是 |
是 |
CREATE PROCEDURE store_procedure |
否 |
否 |
否 |
否 |
触发器 (不直接调用,而由 INSERT、UPDATE 或 DELETE 语句导致) |
否 |
是 |
是 |
是 |
CLR 触发器 |
否 |
否 |
否 |
否 |
CLR 用户定义函数、用户定义聚合和用户定义过程 |
否 |
否 |
否 |
否 |
一次或多次引用用户定义函数的查询 |
是 (对于 Microsoft SQL Server 2000,则为“否”) |
是 |
是 (不适用于 SQL Server 2000) |
是 |
创建临时表,然后从中执行 SELECT 或执行 INSERT INTO |
是 (不适用于 SQL Server 2000) |
是 |
是 (不适用于 SQL Server 2000) |
是 |
DBCC 命令 |
否 |
否 |
否 |
否 |
BULK INSERT |
否 |
是 |
是 |
是 |
使用 sp_executesql 存储过程提交的语句 |
否 |
否 |
否 |
否 |
1 包括下列 Showplan SET 选项语句:
SET SHOWPLAN_XML ON
SET SHOWPLAN_ALL ON
SET SHOWPLAN_TEXT ON
2 包括下列 Statistics SET 选项语句:
SET STATISTICS XML ON
SET STATISTICS PROFILE ON
3 包括下列 SQL Server Profiler事件类:
Showplan XML For Query Compile
Showplan All For Query Compile
4 包括下列 SQL Server Profiler事件类:
Showplan XML
Showplan All
Showplan Text
Showplan XML Statistics Profile
Showplan Statistics Profile