

# CloudWatch Database Insights を使用した実行プランの分析
<a name="Database-Insights-Execution-Plans"></a>

Amazon Aurora PostgreSQL、RDS for Microsoft SQL Server、RDS for Oracle データベースの実行計画は、次の方法を使用して分析できます。
+ **分類方法**ドロップダウン- **[データベースロード]** チャートの **[プラン]** ディメンションを選択すると、時間の経過とともにさまざまなプランが DB 負荷にどのように影響するかが表示されます。
+ **[トップ SQL]** タブ – **[DB 負荷分析]** を選択し、**[トップ SQL]** タブを選択して、各ダイジェストクエリのプランの数を表示します。

  ダイジェストクエリの実行プランを分析するには、クエリを選択し、**[プラン]** タブを選択します。詳細については、以下の手順を参照してください。

## 前提条件
<a name="Database-Insights-Execution-Plans-prereqs"></a>

実行計画を分析するには、Database Insights のアドバンストモードを使用する必要があります。アドバンストモードを有効にする方法については、「[Amazon Aurora で Database Insights のアドバンストモードを有効にする](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DatabaseInsights.TurningOnAdvanced.html)」および「[Turning on the Advanced mode of Database Insights for Amazon Relational Database Service](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DatabaseInsights.TurningOnAdvanced.html)」を参照してください。

Aurora PostgreSQL を使用している場合は、次の前提条件もあります:
+ DB インスタンスでは、Aurora PostgreSQL バージョン 14.10、15.5、およびそれ以降のバージョンを使用する必要があります。Aurora PostgreSQL DB クラスターのアップグレードについては、「*Amazon Aurora ユーザーガイド*」の「[Amazon Aurora PostgreSQL DB クラスターのアップグレード](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.PostgreSQL.html)」を参照してください。
+ 次のいずれかのオプションを使用して パラメータ `aurora_compute_plan_id` を `on` に設定することで、実行プランを分析するように DB クラスターを設定する必要があります。
  + 「*Amazon Aurora ユーザーガイド*」の「[Amazon Aurora での DB クラスターパラメータグループの作成](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.CreatingCluster.html)」
  + 「*Amazon Aurora ユーザーガイド*」の「[Amazon Aurora の DB クラスターパラメータグループのパラメータの変更](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.ModifyingCluster.html)」

## 実行プランを分析する
<a name="Database-Insights-Execution-Plans-analyze"></a>

実行プランを分析するには、次の手順に従います。

**実行プランを分析するには**

1. AWS マネジメントコンソール にサインインして、CloudWatch コンソール ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) を開きます。

1. **[Insights]** を選択します。

1. **[Database Insights]** を選択します。

1. **[データベースインスタンス]** ビューを選択します。

1. DB インスタンスを選択します。

1. **[上位の SQL]** タブを選択します。**[プランカウント]** 列には、ダイジェストクエリごとに収集されたプランの数が表示されます。

1. （オプション) **[Plans Count]** 列が表示されない場合は、**[上位 SQL]** テーブルの **[設定]** アイコンを選択して、列の可視性と順序をカスタマイズします。  
![\[プラン詳細テーブルの設定\]](http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/images/DBInsights2.png)

1. ダイジェストクエリを選択して、そのコンポーネントステートメントに展開します。  
![\[クエリをコンポーネントステートメントに展開する\]](http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/images/dbi_did-dbload-expand.png)

1. 下にスクロールして SQL テキストを表示します。次に、**[プラン]** タブを選択します。

   既定では、CloudWatch は推定される実行プランを表示します。Aurora PostgreSQL の場合、実際の実行プランを表示するには、DB インスタンスの `aurora_stat_plans.with_analyze` パラメータを有効にします。パラメータ `aurora_stat_plans.with_analyze` の詳細については、「*Amazon Aurora ユーザーガイド*」の「[Aurora PostgreSQL のクエリ実行計画とピークメモリのモニタリング](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Monitoring.Query.Plans.html#aurora.with_analyze)」を参照してください。

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

   1 つのクエリについて、一度に 1 つまたは 2 つのプランを表示できます。次のスクリーンショット例では、両方のプランが Aurora PostgreSQL 用です。  
![\[プランを比較する\]](http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/images/dbi_did-plans.png)

1. DBLoad チャートの **[分類方法]** ドロップダウンで **[プラン]** を選択することで、各プランが経時的に DBLoad にどのように貢献しているかを確認することもできます。  
![\[Database load chart showing active sessions over time with plans contribution highlighted.\]](http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/images/DBInsights_OverTime.png)