执行计划 - EXPLAIN PLAN产生的操作和选项值

 

AND-EQUAL

.

接受多组rowid的操作,返回集合的交集,消除重复。用于在单列索引访问路径。

BITMAP

CONVERSION

TO ROWIDS:转换位图表示为的可用于访问表的实际rowid。

FROM ROWIDS:转换rowids为位图表示。

COUNT:如不需要实际值,返回ROWIDs数量。

BITMAP

INDEX

SINGLE VALUE:查找索引中单个键值的位图。

RANGE SCAN:检索键值范围内的位图。

FULL SCAN:若无开始和停止键值,则执行全位图索引扫描。

BITMAP

MERGE

合并范围扫描生成的几个位图为一个位图。

BITMAP

MINUS

从另一个位图减去一个位图的比特(bits)。源行用于否定谓词。仅用于:如有非否定谓词,通过减法产生一个位图。例子见:“查看位图索引与解释计划” 。

BITMAP

OR

计算两个位图的按位OR。

BITMAP

AND

计算两个位图的按位AND。

BITMAP

KEY ITERATION

从表行源中获取每一行,并从位图索引中找到对应的位图。然后,这一组位图在后续的BITMAP MERGE操作中被合并成一个位图。

CONNECT BY

.

在包含CONNECT BY子句的查询中以等级次序检索数据行

CONCATENATION

.

接受多组套行的操作,返回数据集的 union-all

COUNT

.

计数从表中选择行数的操作

STOPKEY

计数操作,返回的行数是由WHERE子句中的ROWNUM表达式限定

DOMAIN INDEX

.

从域索引中检索一或多个ROWID。选项??列中包含用户定义的域索引成本函数所提供的信息,如果有的话

FILTER

 

接受一组行的操作,消除其中的一部分,并返回其余

FIRST ROW

.

检索查询选定的第一行

FOR UPDATE

.

检索和锁定由包含FOR UPDATE子句的查询选定行的操作

HASH JOIN

(包含连接操作。)

.

链接两组行的操作,并返回结果。此连接的方法对连接大量数据的数据集(DSS,BAtch)非常有用。连接条件是访问第二个表的有效方式。

CBO使用较小的两个表/数据源在内存中建立基于连接键的一个哈希表;然后,它会扫描较大的表,探测哈希表从中找到连接的行。

HASH JOIN

ANTI

Hash反连接。

HASH JOIN

SEMI

Hash半连接。

INDEX

(包含访问方法)

UNIQUE SCAN

从索引检索单个ROWID。

INDEX

RANGE SCAN

检索一个或多个索引的ROWIDs。索引值升序的扫描。

INDEX

RANGE SCAN DESCENDING

检索一个或多个索引的ROWIDs。降序索引值扫描。

INDEX

FULL SCAN

没有启动或停止键时从索引检索所有的ROWIDs。升序索引值扫描。

INDEX

FULL SCAN DESCENDING

没有启动或停止键时从索引检索所有的ROWIDs降序索引值扫描。

INDEX

FAST FULL SCAN

使用多块读取,检索所有ROWIDs(和列值)。不定义排序顺序。仅在索引列全表扫描比较。仅适于基于成本的优化器。

INDEX

SKIP SCAN

不使用索引的前导列从连接索引中检索ROWID。Oracle9i中引入。仅适于基于成本的优化器

INLIST ITERATOR

.

对IN列表谓词的每个值迭代计划中的下一操作

INTERSECTION

.

接受两组行的操作,并返回集合的交集,消除重复

MERGE JOIN

(含连接操作)

.

接受两组行的操作,每一按特定值排序,从一组中的每一行合并另一组的匹配行,并返回结果

MERGE JOIN

OUTER

执行OUTER JOIN语句的合并联接操作

MERGE JOIN

ANTI

反连接合并

MERGE JOIN

SEMI

半连接合并

MERGE JOIN

CARTESIAN

可生成1个或多个声明中与任何其它表没有任何连接条件的表。偶可发生在连接时,计划中也未必标记CARTESIAN

CONNECT BY

.

从包含CONNECT BY子的查询中以等级次序检索行

MINUS

.

接受两组行的操作,并返回第一组有但第二组无的行,消除重复行

NESTED LOOPS

(含连接操作)

.

接受两组行的操作,一组外部的和一组内部的。Oracle将内集的每一行与外集的每一行作比较,返回满足条件的行。此连接的方法对连接小的数据子集(OLTP)非常有用。连接条件是访问第二个表的有效方式。

NESTED LOOPS

OUTER

执行外部联接语句的嵌套循环操作

PARTITION

SINGLE

访问一个分区

PARTITION

ITERATOR

访问多少个分区(子集)

PARTITION

ALL

访问所有分区

PARTITION

INLIST

类似迭代器,但基于一IN列表谓词(IN-list predicate)

PARTITION

INVALID

表示要访问的分区集为空

对于PARTITION_START和PARTITION_STOP列中给定范围的么意义分区(PARTITION)迭代计划中的下一操作。PARTITION描述适用于单独分区对象(表或索引)或等距分割的对象(分区表及其本地索引)的分区边界。分区边界由分区(PARTITION)的PARTITION_START 和 PARTITION_STOP值提供。请参阅参分区start/stop有效值

REMOTE

.

从远程数据库中检索数据

SEQUENCE

.

涉及访问序列值的操作

SORT

AGGREGATE

从一分组函数作用于一组选定行的结果中,检索单个行

SORT

UNIQUE

排序一组行的操作,消除重复。

SORT

GROUP BY

对带有GROUP BY子句的查询的行分组操作

SORT

JOIN

合并-连接前排序一组行的操作

SORT

ORDER BY

对带有ORDER BY子句的查询的行排序操作

TABLE ACCESS

(含访问方法)

FULL

检索表中的所有行

TABLE ACCESS

SAMPLE

从一表中检索样本行

TABLE ACCESS

CLUSTER

检索从基于索引簇键的值表的行

TABLE ACCESS

HASH

基于索引的簇键值检索表中的行

TABLE ACCESS

BY ROWID RANGE

基于rowid范围检索表中的行

TABLE ACCESS

SAMPLE BY ROWID RANGE

基于rowid范围检索表中的样本行

TABLE ACCESS

BY USER ROWID

如果表中的行由用户提供的ROWIDs确定

TABLE ACCESS

BY INDEX ROWID

如果该表未分区和使用索引定位行

TABLE ACCESS

BY GLOBAL INDEX ROWID

如果表是分区的,只使用全局索引定位行

TABLE ACCESS

BY LOCAL INDEX ROWID

如果该表是分区,并使用一个或多个本地索引和可能的某些全局索引定位行

分区边界:

分区边界可能依据如下方式计算:

l  一前面的PARTITION步骤,此种情况下,复制PARTITION_START和PARTITION_STOP列值到值前PARTITION步骤,PARTITION_ID包含PARTITION步骤的ID。PARTITION_START和PARTITION_STOP的可能值为NUMBER(N)、KEY、INVALID。

l  TABLE ACCESS或INDEX的步骤本身,此这种情况下,PARTITION_ID包含本步ID。PARTITION_START和PARTITION_STOP的可能值为NUMBER(N)、KEY、ROW REMOVE_LOCATION(TABLE ACCESS)和INVALID

UNION

.

接受两组行,返回集合连接(union)的操作,消除重复。

VIEW

.

执行视图查询,然后返回结果行到另一操作的操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值