顯示在特定 Azure Synapse Analytics 運算節點或控制節點上執行的查詢的 SQL Server 執行計畫。 在計算節點或控制節點上執行查詢時,此命令可用來對查詢效能問題進行疑難排解。
了解在計算節點上執行之 SMP SQL Server 查詢的查詢效能問題後,有許多方法可予以改善。 可改善計算節點上查詢效能的可能方法,包括建立多重資料行統計資料、建立非叢集索引,或使用查詢提示。
Syntax
Azure Synapse Analytics 的語法:
DBCC PDW_SHOWEXECUTIONPLAN ( distribution_id , spid )
[;]
注意
Azure Synapse Analytics 的無伺服器 SQL 集區不支援此語法。
引數
distribution_id
執行查詢計劃之分佈的識別碼。 這是整數,不能是 NULL。 值必須介於 1 到 60 之間。 以 Azure Synapse Analytics 為目標時使用。
spid
執行查詢計劃之 SQL Server 工作階段的識別碼。 這是整數,不能是 NULL。
權限
需要有 Azure Synapse Analytics 的 CONTROL 權限。
需要 VIEW 設備上的 SERVER STATE 權限。
範例:Azure Synapse Analytics
A. DBCC PDW_SHOWEXECUTIONPLAN 基本語法
以下範例查詢會針對每個主動執行的散發傳回 sql_spid。
SELECT [sql_spid]
, [pdw_node_id]
, [request_id]
, [dms_step_index]
, [type]
, [start_time]
, [end_time]
, [status]
, [distribution_id]
FROM sys.dm_pdw_dms_workers
WHERE [status] <> 'StepComplete'
AND [status] <> 'StepError'
ORDER BY request_id
, [dms_step_index];
如果您對工作階段 375 中 distribution_id 1 執行的內容感興趣,建議您執行下列命令:
DBCC PDW_SHOWEXECUTIONPLAN (1, 375);