监控 Aurora PostgreSQL 的查询执行计划 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

监控 Aurora PostgreSQL 的查询执行计划

您可以监控 Aurora PostgreSQL 数据库实例中的查询执行计划,以检测导致当前数据库负载的执行计划,并使用 aurora_compute_plan_id 参数跟踪执行计划随时间推移的性能统计数据。每当执行查询时,都会为查询使用的执行计划分配一个标识符,同一计划的后续执行将使用相同的标识符。

在 Aurora PostgreSQL 14.10、15.5 及更高版本中的数据库参数组中,aurora_compute_plan_id 默认处于开启状态。计划标识符的分配是默认行为,可以通过在参数组中将 aurora_compute_plan_id 设置为 OFF 来关闭。

此计划标识符用于多个不同用途的实用程序中。

使用 Aurora 函数访问查询执行计划

使用 aurora_compute_plan_id,您可以使用以下函数访问执行计划:

  • aurora_stat_activity

  • aurora_stat_plans

有关这些函数的更多信息,请参阅Aurora PostgreSQL 函数参考‏‏‏‏‏‏

Aurora PostgreSQL 查询执行计划的参数参考

您可以使用数据库参数组中的以下参数监控查询执行计划。

注意

aurora_stat_plans.with_* 参数的配置仅对新捕获的计划生效。

aurora_compute_plan_id

设置为 off 以防止分配计划标识符。

默认 允许值 描述
on 0(关闭) 设置为 off 以防止分配计划标识符。
1(开启) 设置为 on 以分配计划标识符。

aurora_stat_plans.minutes_until_recapture

重新捕获计划之前要经过的分钟数。默认值为 0,表示将禁用重新捕获计划。如果超过了 aurora_stat_plans.calls_until_recapture 阈值,仍然可以重新捕获该计划。

默认 允许值 描述
0 0-1073741823

设置重新捕获计划之前要经过的分钟数。

aurora_stat_plans.calls_until_recapture

重新捕获计划之前调用该计划的次数。默认值为 0,表示在多次调用后将禁用重新捕获计划。如果超过了 aurora_stat_plans.minutes_until_recapture 阈值,仍然可以重新捕获该计划。

默认 允许值 描述
0 0-1073741823

设置重新捕获计划之前的调用次数。

aurora_stat_plans.with_costs

捕获 EXPLAIN 计划时包含估计成本。允许的值是 onoff。默认值为 on

默认 允许值 描述
on 0(关闭)

不显示每个计划节点的估计成本和行。

1(开启)

显示每个计划节点的估计成本和行。

aurora_stat_plans.with_analyze

使用 ANALYZE 控制 EXPLAIN 计划。此模式仅在第一次捕获计划时使用。允许的值是 onoff。默认值为 off

默认 允许值 描述
off 0(关闭)

不包括计划的实际运行时间统计数据。

1(开启)

包括计划的实际运行时间统计数据。

aurora_stat_plans.with_timing

使用 ANALYZE 时,将在解释中捕获计划时间。默认值为 on

默认 允许值 描述
on 0(关闭)

不包括实际启动时间和在每个计划节点上花费的时间。

1(开启)

包括实际启动时间和在每个计划节点上花费的时间。

aurora_stat_plans.with_buffers

使用 ANALYZE 时,将在解释中捕获计划缓冲区的使用情况。默认值为 off

默认 允许值 描述
off 0(关闭)

不包括有关缓冲区使用情况的信息。

1(开启)

包括有关缓冲区使用情况的信息。

aurora_stat_plans.with_wal

使用 ANALYZE 时,将在解释中捕获计划 wal 的使用情况。默认值为 off

默认 允许值 描述
off 0(关闭)

不包括有关 WAL 记录生成的信息。

1(开启)

包括有关 WAL 记录生成的信息。

aurora_stat_plans.with_triggers

使用 ANALYZE 时,将在解释中捕获计划触发器执行统计信息。默认值为 off

默认 允许值 描述
off 0(关闭)

不包括触发器执行统计数据。

1(开启)

包括触发器执行统计数据。