用于生成显示计划的 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
请参阅
参考
显示图形执行计划 (SQL Server Management Studio)
概念
通过使用 Showplan SET 选项显示执行计划 (Transact-SQL)
使用 SQL Server Profiler 事件类显示执行计划