SET RECOMMENDATIONS (Transact-SQL)
適用於:Azure Synapse Analytics (僅限專用 SQL 集區)
啟用或停用目前會話的 Azure Synapse 散發建議程式。 如需使用散發建議程式的指示和範例,請參閱 Azure Synapse SQL 中的散發建議程式。
注意
散發建議程式目前為 Azure Synapse Analytics 預覽版。 預覽功能僅供測試之用,不應用於生產執行個體或生產資料。 作為預覽功能,Distribution Advisor 可能會變更行為或功能。 如果數據很重要,請保留測試數據的複本。
語法
SET RECOMMENDATIONS { ON | OFF };
引數
ON
啟用目前用戶端會話的散發建議程式。 後續執行查詢會納入散發策略建議的考慮。
OFF
關閉目前客戶端會話的 Distribution Advisor OFF。 以字串的形式傳回建議。
備註
僅適用於 Azure Synapse Analytics(僅限專用 SQL 集區)。
線上到使用者資料庫時執行此命令。
權限
需要 public 角色中的成員資格。
範例
下列範例會傳回所選 TPC-DS 查詢的散發建議。 TPC-DS 是分析決策支援工作負載的業界標準基準。
首先,開始散發建議程序建議集合並執行範例查詢。
-- Step 1: Turn the distribution advisor ON for the current client session
SET RECOMMENDATIONS ON;
GO
-- <insert your queries here, up to 100>
SELECT ss_store_sk, COUNT(*) FROM store_sales, store WHERE ss_store_sk = s_store_sk GROUP BY ss_store_sk;
SELECT cs_item_sk, COUNT(*) FROM catalog_sales, item WHERE cs_item_sk = i_item_sk AND i_manufact_id > 100 GROUP BY cs_item_sk;
SELECT * FROM dbo.reason;
-- Turn the distribution advisor OFF for the current client session.
SET RECOMMENDATIONS OFF;
GO
從目前工作階段的動態管理檢視 sys.dm_pdw_distrib_advisor_results
收集建議。 例如:
-- Step 2: view advice generated for the above workload
DECLARE @sessionid nvarchar(100), @recommendation nvarchar(max);
SELECT @sessionid = SESSION_ID();
SELECT @recommendation = recommendation FROM sys.dm_pdw_distrib_advisor_results WHERE session_id = @sessionid;
SELECT @recommendation;
GO