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 | . | 执行视图查询,然后返回结果行到另一操作的操作 |
执行计划 - EXPLAIN PLAN产生的操作和选项值
最新推荐文章于 2023-05-31 16:47:55 发布