Azure Data Studio のクエリ プラン ビューアー

適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance

Azure Data Studio では、推定と実際の両方のクエリ プランのキャプチャがサポートされています。 クエリ プランでは、SQL Server クエリ オプティマイザーによって選択されたデータ取得 (または変更) メソッドがグラフィカル表示されます。 この視覚的な方法は、クエリのパフォーマンス特性を把握するのに役立ちます。

表示 - 推定プラン

クエリの推定プランを表示するには、特定のクエリを強調表示し、[推定プラン] ボタンを選択します。

Note

クエリを選択しないで [推定プラン] ボタンを選択すると、クエリ ウィンドウ内のすべてのクエリの推定プランが表示されます。

表示 - 実際のプラン

任意のクエリの実際のプランをエディターに表示するには、[実際のプランを有効にする] ボタンを選択するか、または Ctrl + M キーを押します。このオプションを有効にして、クエリを実行すると ([実行] ボタンまたは F5 キーを使用する)、実際のンプランが [クエリ プラン] タブに表示されます。

Note

クエリを選択しないで [実行] を選択するか、または F5 キーを押すと、クエリ ウィンドウ内のすべてのクエリの実際のプランが表示されます。

出力

推定または実際のプランを表示すると、[結果] タブと [メッセージ] タブに加えて、3 つのタブが使用できるようになります。これらのタブは、[クエリ プラン]、[プラン ツリー]、[上位の操作] です。 [クエリ プラン] タブでは、クエリが表示され、複数のメニュー オプションが提供されます。これらは、右側のメニュー バーと右クリック メニューで使用できます。 [プラン ツリー] では、プランが、並べ替え可能な列を含むテキスト形式で表示されます。 [上位の操作] ペインでは、プランの演算子が一覧表示されます。さまざまな属性に基づいて最もコストの高い演算子を特定するために並べ替えを使用することができます。

クエリ プランのメニュー オプション

クエリ プランのコンテキストから、プランをさらに分析するために使用できる複数のオプションがあります。 これらのオプションには、プランの任意の場所を右クリックするか、右側のメニュー バーからアクセスできます。

アイコン オプション 説明
[プランの保存] アイコンのスクリーンショット。 プラン ファイルの保存 クエリ プランを .sqlplan ファイルとして保存します
[クエリ プランの XML を表示] アイコンのスクリーンショット。 クエリ プランの XML を表示 新しいウィンドウに、クエリ プランを XML 形式で表示します
[クエリを開く] アイコンのスクリーンショット。 [クエリを開く] 新しいウィンドウでプランのクエリを開きます
[拡大] アイコンのスクリーンショット。 拡大 プランを拡大します
[縮小] アイコンのスクリーンショット。 縮小 プランを縮小します
[ウィンドウのサイズに合わせて大きさを変更] アイコンのスクリーンショット。 ウィンドウのサイズに合わせて拡大 プランのサイズをウィンドウのサイズに合わせます
[ズームの指定] アイコンのスクリーンショット。 ズームの指定 プランのカスタム ズーム率を指定します
[ノードの検索] アイコンのスクリーンショット。 [ノードの検索] 特定の属性値に基づいてプラン内のノードを検索します
[プロパティ] ペインのアイコンのスクリーンショット。 プロパティ [プロパティ] ペインを表示します
[プランの比較] アイコンのスクリーンショット。 実行プランの比較 新しいウィンドウで、現在の実行プランを別のプランと比較します
[コストの高い演算子を強調表示する] アイコンのスクリーンショット。 コストの高い演算子を強調表示する 指定した属性に基づいてプラン内で最もコストの高い演算子を特定します
[ツールヒント] アイコンのスクリーンショット。 ツールヒント プラン内で演算子の上にマウス カーソルを置いたときのツールヒントを有効または無効に切り替えます
[上位の操作] アイコンのスクリーンショット。 上位の操作 [上位の操作] ペインに切り替えます

上位の操作

[上位の操作] タブでは、列の並べ替えに加えて、右側の [フィルター] ウィンドウを使用して、共通のフィールド値を持つ演算子を検索できます。 たとえば、特定のデータベース オブジェクトにアクセスするプラン内のすべての入れ子になったループ操作を検出する場合や、特定の属性の特定の値でフィルター処理する場合に役立ちます。

Clustered でフィルター処理を行った後の [上位の操作] タブのスクリーンショット。

一覧内の演算子の場合、クエリ プラン内のその演算子の場所に移動するには、その演算子の名前を選択します (緑色のボックスで演算子が囲まれます)。

プランの比較

クエリ プランの比較は、プランのパフォーマンスの違いをトラブルシューティングする場合に役立ちます。これを Azure Data Studio で実現するには、プランを右クリックし、[実行プランの比較] を選択します。 新しいウィンドウの上半分に現在のプランが表示され、下半分に [実行プランの追加] ボタンが表示されます。 [実行プランの追加] ボタンを選択し、比較対象の保存済みプランを参照します。

比較された 2 つのプランのスクリーンショット。

[プランの比較] メニューには、[クエリ プラン] メニューと同じアイコンがいくつか用意されていますが、[方向の切り替え] ボタンを使用して水平表示から垂直表示に方向を切り替える機能も提供されます。 [プランの比較] ウィンドウの [プロパティ] ペインでは、各プランの演算子の属性値を並べて確認できます。 [プロパティ] ボタンを選択し、各プランで、比較する演算子を選択します。 任意の演算子を選択できますが、通常、プラン内の同様の場所にある同じ演算子を選択すると便利です。 Select 演算子は一例ですが、次のスクリーンショットでは、Index Seek 演算子が選択されています。

比較された 2 つのプランと [プロパティ] ウィンドウが表示されているスクリーンショット。

プランの比較の [プロパティ] ペインの既定ビューでは、値が異なる属性が上部に一覧表示され、同じ値を持つ属性が [同等のプロパティ] 見出しの下に折りたたまれます。 このビューは並べ替えアイコンを使用して変更できます。また、属性の一覧は展開または折りたたんで、情報の表示と検索に役立てることもできます。 [プロパティ] ペインにはフィルター メニューもあり、目的の属性にすばやく移動できます。

次の手順