分析查詢

SQL Server Database Engine 可顯示它是如何巡覽資料表,以及如何使用索引為查詢或其他 DML 陳述式 (如更新) 存取或處理資料;也就是呈現出執行計畫。若要分析執行緩慢的查詢,檢驗查詢執行計畫對於判斷問題起因會很有幫助。如需 SQL Server 如何建立並使用執行計畫的詳細資訊,請參閱<SQL 陳述式處理>及<執行計畫快取與重複使用>。

您可以使用下列方法來顯示執行計畫:

  • SQL Server Management Studio

    顯示估計的圖形執行計畫 (不執行陳述式) 或實際的圖形執行計畫 (執行陳述式),您可以在 Management Studio 中儲存及檢視這些計畫。

  • Transact-SQL SET 陳述式選項

    使用 Transact-SQL SET 陳述式選項時,您可以用 XML 或文字格式來產生估計的與實際的執行計畫。

  • SQL Server Profiler 事件類別

    您可以選取要在追蹤中包含的 SQL Server Profiler 事件類別,這些追蹤會在追蹤結果中以 XML 或文字格式產生估計的與實際的執行計畫。

使用上述其中一個方法顯示執行計畫時,將會顯示Database Engine針對個別的資料操作語言 (DML) 以及 Transact-SQL 陳述式,所使用的最佳執行計畫。這個計畫會顯示出預存程序及已呼叫的預存程序 (叫用到任意數目的呼叫層級) 的編譯時間資訊。例如,執行 SELECT 陳述式可能會顯示 Database Engine 是使用資料表掃描來取得資料;執行 SELECT 陳述式也可能會顯示 Database Engine 是使用索引掃描從資料表擷取資料 (如果 Database Engine 判斷採用索引掃描是比較快的方法)。

本章節內容