Plan Analysis
Plan Analysis 画面では、1つの SQL が期間中に異なる実行計画(Plan Hash)で複数回実行された履歴を見つけ、計画別の性能差と実際の実行計画を確認できます。
左側メニューでデータベース > SQL Server > SQL Analysis > Plan Analysisを選択してください。

画面は照会条件、Plan Analysis List、Trend チャート、下部のSQL ListとPlan パネルで構成されます。
照会条件を設定する
Period、Group、Instanceで照会対象の期間とインスタンスを設定します。条件を変更した後は[Search] ボタンをクリックしないと新しい条件で再照会されません。
Plan Countには、照会期間中に実行計画が変わった回数(以上)を指定します。値を高くするほど、計画がより頻繁に変わった SQL のみを絞り込んで確認できます。
実行計画の変更はまれに発生するため、Periodを7日など余裕を持って設定しないと、変更履歴を見落とす可能性があります。
Plan Analysis Listで計画が変わったSQLを確認する
Plan Analysis Listでは、条件に該当する、つまり指定した回数以上実行計画が変わった SQL を一覧で確認できます。
一覧で行をクリックすると、下のTrend チャートとSQL List、Plan パネルがすべて選択した SQL 基準で更新されます。
一覧上部のフィルタ入力欄にテキストを入力すると、列の値を基準に一覧をすばやくフィルタリングできます。
一覧右上の[⋮] ボタンをクリックすると、Reset user data、Export to Excel、Column List メニューが開きます。このメニューはSQL List の一覧にも同様に提供されます。

SQL IDクリックでSQL詳細情報を確認する
一覧でSQL ID の値をクリックすると、画面右側にその SQL の詳細パネルが開きます。パネル上部で照会するPlan Hash をドロップダウンで変更でき、パネルはFull Text/Trend/History/Plan の4つのタブで構成されます。この構成は Single View の SQL 詳細パネルと同じです。
Full Text: 選択したPlan Hash 基準の原文 SQL テキストを表示します。

Trend: Time(Elapsed/Worker Time)、I/O(Logical/Physical Reads)、Executions の3つのチャートで時間帯別の推移を表示します。

History: 時間帯別のElapsed Time・Worker Time・Logical Reads・Physical Reads 値を表で表示します。

Plan: 選択したPlan Hash の実行計画をツリー構造の表で表示します。構成は下のSQL ListとPlanで計画詳細を確認するセクションのPlan パネルと同じです。

右上の[Search SQL >] ボタンをクリックすると、この SQL が選択された状態で Search SQL 画面に移動します。
Trendチャートで計画別の性能推移を比較する
Trend チャートでは、選択した SQL のPlan Hash(実行計画)別に色分けして性能指標の推移をラインで表示します。
左上のドロップダウンでElapsed Time (AVG)、Worker Time (AVG)、Logical Reads (AVG)、Physical Reads (AVG) の中から表示する指標を変更できます。
チャート下部のミニマップを斜め方向にドラッグすると、任意の区間だけを拡大して詳しく見ることができます。右上の[Drag Zoom] アイコンが有効になった状態でドラッグし、[Reset] アイコンをクリックすると元の範囲に戻ります。
同じ SQL でも値が0に近い状態が続いた後、ある時点からグラフが急激に跳ね上がって途切れるように見える区間があれば、その地点で実行計画が変わり性能が急激に低下したというサインです。下のSQL Listでその時点のPlan Hash を確認することをお勧めします。

SQL ListとPlanで計画詳細を確認する
SQL Listでは、選択した SQL が実行されたPlan Hash 別の実行統計を確認できます。
行をクリックすると、右側のPlan パネルがその計画基準で更新されます。
行を選択すると、選択していない他の行の値の横に▲(赤色)・▼(青色)の矢印が表示されます。選択した行の値より高ければ赤色の▲、低ければ青色の▼で表示され、計画間の性能差を一目で比較できます。
Planでは実行計画をツリー構造の表で表示し、Physical Op・Logical Op・Estimate Rows・Total SubTree Cost など段階別の詳細情報を確認できます。

右上の[Plan] ボタンをクリックすると実行計画をファイルとしてダウンロードでき、コピーアイコンをクリックするとPlan Hash の値をクリップボードにコピーします。
SQL テキストが暗号化された状態で収集された場合、Stmt Textに ** Encrypted Text ** と表示されます。
Plan Diffで実行計画を2つ比較する
Plan パネル右上、ダウンロード・コピーアイコンの横にある比較アイコンをクリックするとPlan Diff ウィンドウが開きます。ウィンドウは左右2つのPlan パネルで構成され、各パネル上部のPlan Hash Value ドロップダウンから比較する計画をそれぞれ独立して選択できます。

同じ SQL でも引数の値によってオプティマイザが異なる実行計画を選択する場合(パラメータスニッフィング)があります。例えば、一方の計画はClustered Index Scan でテーブル全体を走査するのに対し、もう一方の計画はIndex Seek で必要な行だけを検索するというように、ツリー構造自体が異なることがあります。Plan Diff で2つの計画を並べて開いておくと、こうした構造の違いをすばやく見つけられるため、実行時間が急増した原因が実行計画の変更によるものかを確認する際に便利です。