Share via


SET RECOMMENDATIONS (Transact-SQL)

適用於:Azure Synapse Analytics (僅限專用 SQL 集區)

啟用或停用目前會話的 Azure Synapse 散發建議程式。 如需使用散發建議程式的指示和範例,請參閱 Azure Synapse SQL 中的散發建議程式

注意

Distribution Advisor 目前處於預覽狀態,適用於 Azure Synapse Analytics。 預覽功能僅供測試之用,不應用於生產執行個體或生產資料。 做為預覽功能,散發建議程式的行為或功能可能會變更。 如果測試資料很重要,請保留該資料的複本。

Transact-SQL 語法慣例

語法

SET RECOMMENDATIONS { ON | OFF };

引數

開啟

啟用目前用戶端會話的散發建議程式。 後續會考慮執行查詢,以取得散發策略建議。

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

後續步驟