

# Amazon RDS の Performance Insights ダッシュボードを使用した SQL Server 実行プランの分析
<a name="USER_PerfInsights.UsingDashboard.AccessPlansSqlServer"></a>

SQL Server データベースの DB 負荷を分析する際に、DB 負荷に最も影響しているプランを確認することもできます。DB 負荷に最も影響しているプランを特定するには、Performance Insights のプランキャプチャ機能を使用できます。

**コンソールを使用して SQL Server 実行プランを分析するには**

1. Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**Performance Insights**] を選択します。

1. SQL Server DB インスタンスを選択します。この DB インスタンスに Performance Insights ダッシュボードが表示されます。

1. [**データベース負荷 (DB 付加)**] セクションで、[**スライス基準**] の横にある [**プラン**] をクリックします。

   平均アクティブセッションのグラフには、上位 SQL ステートメントで使用されているプランが表示されます。プランのハッシュ値は、色分けされた四角形の右側に表示されます。各ハッシュ値によりプランを一意に識別できます。  
![\[プランによるスライス化\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/pi-slice-by-plans-sqlserver.png)

1. 下部にある [**トップ SQL**] タブまでスクロールします。

   次の例では、上位の SQL ダイジェストに 3 つのプランがあります。SQL ステートメントに疑問符が付いている場合は、そのステートメントがダイジェストであることを示しています。SQL ステートメント全体を表示するには、**[SQL ステートメント]** 列の値を選択します。  
![\[ダイジェストプランを選択する\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/top-sql-plans-unselected-sqlserver.png)

1. ダイジェストを選択して、そのコンポーネントステートメントを展開します。

   以下の例では、`SELECT` ステートメントがダイジェストクエリです。ダイジェスト内のコンポーネントクエリでは、3 つの異なる実行プランを使用します。プランに付けられた色は、データベースの負荷チャートに対応しています。  
![\[ダイジェストプランを選択する\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/pi-digest-plan-sqlserver.png)

1. 下にスクロールし、[**ダイジェストクエリのプラン**] リストから、比較する 2 つの [**プラン**] を選択します。

   1 つのクエリについて、一度に 1 つまたは 2 つのプランを表示できます。次のスクリーンショットは、ダイジェスト内の 2 つのプランを比較しています。次の例では、このダイジェストクエリを実行する平均アクティブセッションの 40% が左側のプランを使用し、28% が右側のプランを使用しています。  
![\[プランを並べて比較する\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/pi-compare-plan-sqlserver.png)

   前の例では、プラン間に重要な違いがあります。左側のプランのステップ 2 ではテーブルスキャンを使用しているのに対し、右側のプランではクラスター化インデックススキャンを使用しています。行数が多いテーブルでは、ほとんどの場合、1 行を取得するクエリはクラスター化インデックススキャンより高速です。

1. (オプション) [プランの詳細] テーブルの **[設定]** アイコンを選択して、列の表示と順序をカスタマイズします。次のスクリーンショットでは、[プランの詳細] テーブルに **[出力リスト]** 列が 2 番目の列として表示されています。  
![\[[プランの詳細] テーブルの列の表示と順序をカスタマイズする\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/pi-plan-fields-sql-server.png)

1. (オプション) [**コピー**] をクリックし、クリップボードにプランをコピーします。あるいは、[**ダウンロード**] により、ハードドライブにプランを保存します。

**注記**  
Performance Insights は、階層ツリーテーブルを使用して推定実行プランを表示します。このテーブルには、各ステートメントの部分的な実行情報が含まれています。[プランの詳細] テーブルの列の詳細については、SQL Server ドキュメントの「[SET SHOWPLAN\$1ALL](https://learn.microsoft.com/en-us/sql/t-sql/statements/set-showplan-all-transact-sql)」を参照してください。推定実行プランの実行情報全体を表示するには、**[ダウンロード]** を選択してプランをダウンロードし、これを SQL Server Management Studio にアップロードします。SQL Server Management Studio を使用して推定実行プランを表示する方法の詳細については、SQL Server ドキュメントの「[Display an Estimated Execution Plan](https://learn.microsoft.com/en-us/sql/relational-databases/performance/display-the-estimated-execution-plan)」を参照してください。