

# Aurora PostgreSQL 互換エディションの apg\_plan\_mgmt.dba\_plans ビューのリファレンス
<a name="AuroraPostgreSQL.Optimize.dba_plans_view_Reference"></a>

`apg_plan_mgmt.dba_plans` ビューの計画情報の列には以下のものが含まれます。


| dba\_plans 列 | 説明 | 
| --- | --- | 
| cardinality\_error | 推定濃度と実際の濃度の間の誤差の程度。*濃度*とは、計画により処理されるテーブルの行数です。濃度誤差が大きい場合、計画が最適ではない可能性が高くなります。この列は [apg\_plan\_mgmt.evolve\_plan\_baselines](AuroraPostgreSQL.Optimize.Functions.md#AuroraPostgreSQL.Optimize.Functions.evolve_plan_baselines) 関数によって入力されます。 | 
| compatibility\_level | このパラメータは、クエリプランが最後に検証された日時を示します。Aurora PostgreSQL バージョン 12.19、13.15、14.12、15.7、16.3 以降では、Aurora バージョン番号が表示されます。それより前のバージョンでは、機能固有のバージョン番号が表示されます。 このパラメータ値はデフォルト設定のままにしておきます。Aurora PostgreSQL は、この値を自動的に設定および更新します。  | 
| created\_by | 計画を作成した認証済みユーザー (session\_user)。 | 
| enabled | 計画が有効か無効かを示すインジケータ。すべての計画はデフォルトで有効になっています。計画を無効にして、オプティマイザが計画を使用しないようにすることができます。この値を変更するには、[apg\_plan\_mgmt.set\_plan\_enabled](AuroraPostgreSQL.Optimize.Functions.md#AuroraPostgreSQL.Optimize.Functions.set_plan_enabled) 関数を使用します。 | 
| environment\_variables | 計画の取得時点でオプティマイザにより上書きされた、PostgreSQL Grand Unified Configuration (GUC) のパラメータおよび値。 | 
| estimated\_startup\_cost | オプティマイザがテーブルの行を配信する前の、推定オプティマイザ設定コスト。 | 
| estimated\_total\_cost | 最終テーブル行を配信するための推定オプティマイザコスト。 | 
| execution\_time\_benefit\_ms | 計画を有効にすることで速くなる実行時間。この列は [apg\_plan\_mgmt.evolve\_plan\_baselines](AuroraPostgreSQL.Optimize.Functions.md#AuroraPostgreSQL.Optimize.Functions.evolve_plan_baselines) 関数によって入力されます。 | 
| execution\_time\_ms | 計画が実行される推定時間 (ミリ秒)。この列は [apg\_plan\_mgmt.evolve\_plan\_baselines](AuroraPostgreSQL.Optimize.Functions.md#AuroraPostgreSQL.Optimize.Functions.evolve_plan_baselines) 関数によって入力されます。 | 
| has\_side\_effects | SQL ステートメントがデータ操作言語 (DML) ステートメント、または VOLATILE 関数を含む SELECT ステートメントであることを示す値。 | 
| last\_used | この値は、計画の実行時、または計画がクエリオプティマイザの最小コスト計画であるときに、現在の日付に更新されます。この値は共有メモリに保存され、定期的にディスクにフラッシュされます。最新の値を取得するには、apg\_plan\_mgmt.plan\_last\_used(sql\_hash, plan\_hash) の値を読み取る代わりに関数 last\_used を呼び出して、共有メモリから日付を読み取ります。詳細については、[apg\_plan\_mgmt.plan\_retention\_period](AuroraPostgreSQL.Optimize.Parameters.md#AuroraPostgreSQL.Optimize.Parameters.plan_retention_period) パラメータを参照してください。 | 
| last\_validated | 計画が [apg\_plan\_mgmt.validate\_plans](AuroraPostgreSQL.Optimize.Functions.md#AuroraPostgreSQL.Optimize.Functions.validate_plans) 関数または [apg\_plan\_mgmt.evolve\_plan\_baselines](AuroraPostgreSQL.Optimize.Functions.md#AuroraPostgreSQL.Optimize.Functions.evolve_plan_baselines) 関数のいずれかにより再作成可能であることが検証された最新の日時。 | 
| last\_verified | 計画が、[apg\_plan\_mgmt.evolve\_plan\_baselines](AuroraPostgreSQL.Optimize.Functions.md#AuroraPostgreSQL.Optimize.Functions.evolve_plan_baselines) 関数で指定されたパラメータに対して最もパフォーマンスの高い計画であることが検証された最新の日時。 | 
| origin | [apg\_plan\_mgmt.capture\_plan\_baselines](AuroraPostgreSQL.Optimize.Parameters.md#AuroraPostgreSQL.Optimize.Parameters.capture_plan_baselines) パラメータを使用して計画が取得された方法。有効な値には次のようなものがあります。<br />`M` - 計画は、手動計画取り込みで取得されています。<br />`A` - 計画は、自動計画取り込みで取得されています。 | 
| param\_list | ステートメントに渡されたパラメータ値 (これが準備済みステートメントである場合)。 | 
| plan\_created | 計画が作成された日時。 | 
| plan\_hash | 計画の識別子。plan\_hash と sql\_hash の組み合わせにより、特定の計画を一意に識別できます。 | 
| plan\_outline | 実際の実行計画を再作成するために使用された、データベースに依存しない計画の表現。ツリーの演算子は、EXPLAIN 出力に表示される演算子に対応しています。 | 
| planning\_time\_ms | プランナーを実際に実行する時間 (ミリ秒)。この列は [apg\_plan\_mgmt.evolve\_plan\_baselines](AuroraPostgreSQL.Optimize.Functions.md#AuroraPostgreSQL.Optimize.Functions.evolve_plan_baselines) 関数によって入力されます。 | 
| queryId | pg\_stat\_statements エクステンションによって計算されたステートメントのハッシュ。これはオブジェクト識別子 (OID) に依存しています。安定識別子や非データベース依存の識別子ではありません。クエリプランをキャプチャするとき、compute\_query\_id が off の場合、値は 0  になります。 | 
| sql\_hash | リテラルを削除して正規化した、SQL ステートメントのテキストのハッシュ値。 | 
| sql\_text | SQL ステートメントのフルテキスト。 | 
| status | オプティマイザによる計画の使用方法を決定する、計画のステータス。有効な値には次のようなものがあります。+  `Approved` - オプティマイザで選択して実行できる使用可能な計画。オプティマイザは、管理ステートメントの一連の承認済み計画 (ベースライン) から最小コスト計画を実行します。計画を承認済みにリセットするには、[apg\_plan\_mgmt.evolve\_plan\_baselines](AuroraPostgreSQL.Optimize.Functions.md#AuroraPostgreSQL.Optimize.Functions.evolve_plan_baselines) 関数を使用します。 <br />+  `Unapproved` - 使用可能性が検証されていない取得済み計画。詳細については、「[計画パフォーマンスの評価](AuroraPostgreSQL.Optimize.Maintenance.md#AuroraPostgreSQL.Optimize.Maintenance.EvaluatingPerformance)」を参照してください。 <br />+  `Rejected` - オプティマイザが使用しない計画。詳細については、「[低速な計画の拒否または無効化](AuroraPostgreSQL.Optimize.Maintenance.md#AuroraPostgreSQL.Optimize.Maintenance.EvaluatingPerformance.Rejecting)」を参照してください。 <br />+  `Preferred` - 管理ステートメントでの使用に推奨されると判断した計画。 <br />オプティマイザの最小コスト計画が承認済みまたは推奨される計画ではない場合は、計画実施のオーバーヘッドを削減できます。そのためには、承認済み計画のサブセットを `Preferred` にします。オプティマイザの最小コストが `Approved` 計画ではない場合、`Preferred` 計画の前に `Approved` 計画が選択されます。 <br />計画を `Preferred` にリセットするには、[apg\_plan\_mgmt.set\_plan\_status](AuroraPostgreSQL.Optimize.Functions.md#AuroraPostgreSQL.Optimize.Functions.set_plan_status) 関数を使用します。  | 
| stmt\_name | PREPARE ステートメント内の SQL ステートメントの名前。名前のない準備済みステートメントの場合、この値は空の文字列になります。名前のないステートメントの場合、この値は NULL になります。 | 
| total\_time\_benefit\_ms | この計画を有効にすることで速くなる実行時間の合計。この値には、計画時間と実行時間の両方が考慮されます。<br />この値が負の場合、この計画を有効にすることは推奨されません。この列は [apg\_plan\_mgmt.evolve\_plan\_baselines](AuroraPostgreSQL.Optimize.Functions.md#AuroraPostgreSQL.Optimize.Functions.evolve_plan_baselines) 関数によって入力されます。 | 