SET STATISTICS XML (Transact-SQL)
更新: 2005 年 12 月 5 日
使 Microsoft SQL Server 執行 Transact-SQL 陳述式,且會以妥善定義的 XML 文件格式來產生陳述式執行狀況的詳細資料。
語法
SET STATISTICS XML { ON | OFF }
備註
SET STATISTICS XML 的設定是在執行階段進行設定,而不是在剖析階段進行設定。
當 SET STATISTICS XML 是 ON 時,SQL Server 會在執行每個陳述式之後,傳回它的執行資訊。在這個選項設為 ON 之後,會傳回所有後續 Transact-SQL 陳述式的相關資訊,直到這個選項設為 OFF 為止。請注意,SET STATISTICS XML 不必是批次中的唯一陳述式。
SET STATISTICS XML 會將輸出當作應用程式 (如 sqlcmd 公用程式) 的 nvarchar(max) 傳回,而後續其他工具則會使用其 XML 輸出來顯示和處理查詢計劃資訊。
SET STATISTICS XML 會將資訊當作一組 XML 文件傳回。SET STATISTICS XML ON 陳述式之後的每個陳述式都會反映在單一文件的輸出中。每份文件都包含陳述式的文字,後面接著執行步驟的詳細資料。輸出會顯示各種執行階段資訊,如成本、存取的索引、執行的作業類型、聯結順序、實體作業的執行次數、每個實體運算子所產生的資料列數等。
在安裝期間,會將包含 SET STATISTICS XML 的 XML 輸出之 XML 結構描述的文件,複製到安裝了 Microsoft SQL Server 2005 之電腦的本機目錄中。您可以在 SQL Server 安裝檔所在的磁碟機中找到它,位置如下:
\Microsoft SQL Server\90\Tools\Binn\schemas\sqlserver\2004\07\showplan\showplanxml.xsd
也可以在這個網站 (英文) 找到顯示計劃結構描述。
SET STATISTICS PROFILE 和 SET STATISTICS XML 彼此是對應的項目。前者會產生文字輸出;後者會產生 XML 輸出。在 SQL Server 未來的版本中,只會透過 SET STATISTICS XML 陳述式來顯示新的查詢執行計劃資訊,不會使用 SET STATISTICS PROFILE 陳述式。
附註: |
---|
如果已在 SQL Server Management Studio 中選取了 [包括實際執行計劃],這個 SET 選項將不會產生 XML 顯示計劃輸出。在使用這個 SET 選項之前,請清除 [包括實際執行計劃] 按鈕。 |
權限
若要使用 SET STATISTICS XML 和檢視輸出,使用者必須有下列權限:
- 執行 Transact-SQL 陳述式的適當權限。
- 包含 Transact-SQL 陳述式所參考的物件之所有資料庫的 SHOWPLAN 權限。
如果 Transact-SQL 陳述式不會產生 STATISTICS XML 結果集,就只需要執行 Transact-SQL 陳述式的適當權限。如果 Transact-SQL 陳述式會產生 STATISTICS XML 結果集,檢查 Transact-SQL 陳述式執行權限和 SHOWPLAN 權限都必須成功,否則,便會中止執行 Transact-SQL 陳述式,且不會產生任何顯示計劃資訊。
如需詳細資訊,請參閱<顯示計劃安全性>和<SHOWPLAN 權限與 Transact-SQL 批次>。
範例
隨後的兩個陳述式使用 SET STATISTICS XML 設定來顯示 SQL Server 分析及最佳化查詢中使用索引的方法。第一個查詢在索引資料行的 WHERE 子句中,使用等於 (=) 比較運算子。第二個查詢在 WHERE 子句中使用 LIKE 運算子。這會強制 SQL Server 利用叢集索引掃描來尋找符合 WHERE 子句條件的資料。第一個索引查詢的 EstimateRows 和 EstimatedTotalSubtreeCost 屬性中的值比較小,這表示它的處理速度比較快,使用的資源比非索引查詢少。
USE AdventureWorks;
GO
SET STATISTICS XML ON;
GO
-- First query.
SELECT EmployeeID
FROM HumanResources.Employee
WHERE NationalIDNumber = '509647174';
GO
-- Second query.
SELECT EmployeeID, Title
FROM HumanResources.Employee
WHERE Title LIKE 'Production%';
GO
SET STATISTICS XML OFF;
GO
請參閱
參考
SET SHOWPLAN_XML (Transact-SQL)
其他資源
sqlcmd 公用程式
分析查詢
產生顯示計劃的 Transact-SQL 陳述式
使用 Showplan SET 選項來顯示執行計劃 (Transact-SQL)
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2005 年 12 月 5 日 |
|