

# 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 | 计划的状态，确定优化程序如何使用计划。包括下列有效值。[See the AWS documentation website for more details](http://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.dba_plans_view_Reference.html) | 
| 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) 函数填充。 | 