暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 19C PLAN_TABLE列

原创 Asher.HU 2021-02-04
783

PLAN_TABLE由该EXPLAIN PLAN语句填充。

下表描述了中的列PLAN_TABLE

表7-1 PLAN_TABLE列

类型描述

STATEMENT_ID

VARCHAR2(30)

语句中STATEMENT_ID指定的可选参数的EXPLAIN PLAN

PLAN_ID

NUMBER

数据库中计划的唯一标识符。

TIMESTAMP

DATE

EXPLAIN PLAN语句生成的日期和时间

REMARKS

VARCHAR2(80)

您想要与说明的计划的每个步骤相关联的任何注释(最多80个字节)。此列指示数据库是使用大纲还是SQL概要文件进行查询。

如果您需要在的任何行上添加或更改备注PLAN_TABLE,请使用该UPDATE语句修改的行PLAN_TABLE

OPERATION

VARCHAR2(30)

在此步骤中执行的内部操作的名称。在为语句生成的第一行中,该列包含以下值之一:

  • DELETE STATEMENT
  • INSERT STATEMENT
  • SELECT STATEMENT
  • UPDATE STATEMENT

有关此列的值的更多信息,请参见 PLAN_TABLE的OPERATION和OPTION列 

OPTIONS

VARCHAR2(225)

OPERATION列描述的操作的变体

有关此列的值的更多信息,请参见 PLAN_TABLE的OPERATION和OPTION列 

OBJECT_NODE

VARCHAR2(128)

用于引用对象的数据库链接的名称(表名称或视图名称)。对于使用并行执行的本地查询,此列描述数据库使用操作输出的顺序。

OBJECT_OWNER

VARCHAR2(30)

拥有包含表或索引的架构的用户的名称。

OBJECT_NAME

VARCHAR2(30)

表或索引的名称。

OBJECT_ALIAS

VARCHAR2(65)

SQL语句中表或视图的唯一别名。对于索引,它是基础表的对象别名。

OBJECT_INSTANCE

NUMERIC

与对象在原始语句中出现的顺序位置相对应的数字。对于原始语句文本,编号从左到右,从外到内进行。视图扩展导致不可预测的数字。

OBJECT_TYPE

VARCHAR2(30)

提供有关对象的描述性信息的修饰符;例如,NONUNIQUE用于索引。

OPTIMIZER

VARCHAR2(255)

优化器的当前模式。

SEARCH_COLUMNS

NUMBERIC

目前未使用。

ID

NUMERIC

分配给执行计划中每个步骤的编号。

PARENT_ID

NUMERIC

在步骤的输出上进行操作的下一个执行步骤的ID ID

DEPTH

NUMERIC

计划表示的行源树中的操作深度。您可以使用此值缩进计划表报告中的行。

POSITION

NUMERIC

对于输出的第一行,这表示执行该语句的估计成本。对于其他行,它指示相对于同一父级的其他子级的位置。

COST

NUMERIC

由优化器估算的操作成本。未确定表访问操作的成本。此列的值没有任何特定的度量单位。它是用于比较执行计划成本的加权值。此列的值是CPU_COSTIO_COST的函数

CARDINALITY

NUMERIC

通过查询优化方法估算操作访问的行数。

BYTES

NUMERIC

通过查询优化方法估算操作访问的字节数。

OTHER_TAG

VARCHAR2(255)

描述该OTHER的内容值是:

  • SERIAL(空白):串行执行。当前,在OTHER这种情况下,SQL未装入列中。
  • SERIAL_FROM_REMOTE (S -> R):在远程站点上串行执行。
  • PARALLEL_FROM_SERIAL (S -> P):串行执行。步骤的输出被分区或广播到并行执行服务器。
  • PARALLEL_TO_SERIAL (P -> S):并行执行。步骤的输出返回到串行质量控制过程。
  • PARALLEL_TO_PARALLEL (P -> P):并行执行。步骤的输出重新分区到第二组并行执行服务器。
  • PARALLEL_COMBINED_WITH_PARENT (PWP):并行执行;步骤的输出在相同的并行过程中转到下一步。与父进程之间没有进程间通信。
  • PARALLEL_COMBINED_WITH_CHILD (PWC):并行执行。步骤的输入来自同一并行过程中的先前步骤。没有子进程间的通信。

PARTITION_START

VARCHAR2(255)

启动一系列访问分区的分区。它可以采用以下值之一:

n表示起始分区已由SQL编译器标识,并且其分区号由n给出

KEY 指示在运行时从分区键值中标识了开始分区。

ROW REMOVE_LOCATION指示数据库在运行时从每个检索到的记录的位置计算开始分区(与停止分区相同)。记录位置是由用户或从全局索引获得的。

INVALID 表示访问的分区范围为空。

PARTITION_STOP

VARCHAR2(255)

停止一系列访问分区的分区。它可以采用以下值之一:

n表示停止分区已由SQL编译器标识,并且其分区号由n给出

KEY 指示在运行时从分区键值中标识了停止分区。

ROW REMOVE_LOCATION指示数据库在运行时从每个检索到的记录的位置计算停止分区(与启动分区相同)。记录位置是由用户或从全局索引获得的。

INVALID 表示访问的分区范围为空。

PARTITION_ID

NUMERIC

已计算PARTITION_STARTPARTITION_STOP的一对值的步骤

OTHER

LONG

用户可能会发现对执行步骤特定的其他信息。参见OTHER_TAG专栏。

DISTRIBUTION

VARCHAR2(30)

用于将行从生产者查询服务器分发到消费者查询服务器的方法。

有关此列的可能值的更多信息请参见 PLAN_TABLE的DISTRIBUTION列 有关使用者和生产者查询服务器的更多信息,请参见《Oracle数据库VLDB和分区指南》

CPU_COST

NUMERIC

由优化程序估算的操作的CPU成本。该列的值与操作所需的机器周期数成正比。对于使用基于规则的方法的语句,此列为空。

IO_COST

NUMERIC

由优化器估算的操作的I / O成本。该列的值与该操作读取的数据块数量成正比。对于使用基于规则的方法的语句,此列为空。

TEMP_SPACE

NUMERIC

优化程序估计的操作使用的临时空间(以字节为单位)。对于使用基于规则的方法的语句,或者对于不使用任何临时空间的操作,此列为空。

ACCESS_PREDICATES

VARCHAR2(4000)

用于在访问结构中定位行的谓词。例如,为索引范围扫描启动或停止谓词。

FILTER_PREDICATES

VARCHAR2(4000)

谓词用于在生成行之前对其进行过滤。

PROJECTION

VARCHAR2(4000)

操作产生的表达式。

TIME

NUMBER(20,2)

通过查询优化估算的经过的时间(以秒为单位)。对于使用基于规则的方法的语句,此列为空。

QBLOCK_NAME

VARCHAR2(30)

查询块的名称,由系统生成或由用户使用QB_NAME提示定义

PLAN_TABLE的  OPERATION和OPTION列 列出语句的组合OPERATION以及语句的OPTIONS产生EXPLAIN PLAN及其在执行计划中的含义。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论