產生顯示計劃的 Transact-SQL 陳述式
本主題所列出的 Transact-SQL 陳述式類型,會為 Showplan SET 選項和 SQL Server Profiler 事件類別產生顯示計劃輸出。
附註: |
---|
已加密的預存程序或觸發程序則不會產生顯示計劃資訊。 |
下表列出哪些 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 事件類別來顯示執行計劃