Share via


SET RECOMMENDATIONS (Transact-SQL)

適用対象:Azure Synapse Analytics (専用 SQL プールのみ)

現在のセッションの Azure Synapse ディストリビューション アドバイザーを有効または無効にします。 ディストリビューション アドバイザーの使用に関する手順とサンプルについては、「Azure Synapse SQL のディストリビューション アドバイザー」を参照してください。

注意

Distribution Advisor は現在、Azure Synapse Analytics でプレビューの段階です。 プレビュー機能はテストのみを目的としているため、運用インスタンスや運用データでは使用しないでください。 Distribution Advisor はプレビュー機能のため、動作や機能が変更される可能性があります。 また、データが重要な場合は、テスト データのコピーも保持してください。

Transact-SQL 構文表記規則

構文

SET RECOMMENDATIONS { ON | OFF };

引数

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

次のステップ