更新时间:2023-10-23 GMT+08:00

PLAN_TABLE

PLAN_TABLE显示用户通过执行EXPLAIN PLAN收集到的计划信息。计划信息的生命周期是session级别,session退出后相应的数据将被清除。同时不同session和不同user间的数据是相互隔离的。

表1 PLAN_TABLE字段

名称

类型

描述

statement_id

varchar2(30)

用户输入的查询标签。

plan_id

bigint

查询标识。

id

int

查询生成的计划中的每一个执行算子的编号。

operation

varchar2(30)

计划中算子的操作描述。

options

varchar2(255)

操作选项。

object_name

name

操作对应的对象名,非查询中使用到的对象别名。来自于用户定义。

object_type

varchar2(30)

对象类型。

object_owner

name

对象所属schema,来自于用户定义。

projection

varchar2(4000)

操作输出的列信息。

cost

float8

优化器对算子估算的执行代价。

cardinality

float8

优化器对算子估算的结果行数。

  • object_type取值范围为PG_CLASS中定义的relkind类型(TABLE普通表,INDEX索引,SEQUENCE序列,VIEW视图,COMPOSITE TYPE复合类型,TOASTVALUE TOAST表)和计划使用到的rtekind(SUBQUERY, JOIN, FUNCTION, VALUES, CTE, REMOTE_QUERY)。
  • object_owner对于RTE来说是计划中使用的对象描述,非用户定义的类型不存在object_owner。
  • statement_id、object_name、object_owner、projection字段内容遵循用户定义的大小写存储,其它字段内容采用大写存储。
  • 支持用户对PLAN_TABLE进行SELECT和DELETE操作,不支持其它DML操作。