01
定义
执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述。


02
组成
目标SQL的正文、sql_id和执行计划对应的plan_hash_value


执行计划主体
主要有内部执行步骤、执行顺序、谓词信息、列信息、Cardinality、Cost等


补充信息
是否动态采用(dynamic sampling)、是否SQL Profile

03
模块解读
主体Header

-
ID:序号
-
Operation:当前操作的内容
-
Rows:当前操作的Cardinality,Oracle估计当前操作的返回结果集。
-
Cost:SQL执行的代价
-
Time:Oracle 估计当前操作的时间
主体Header
Query Block Name

1
这部分显示的为查询块名和对象别名
2
SEL$为select 的缩写,相应的还有DEL$,INS$,UPD$等
3
DEPT@SEL$1,对应到执行计划中的操作ID为3,即在表DEPT上的查询,DEPT为别名。
Query Block Name
Outline Data

1
这部分将执行计划的图形化方式以文本形式来呈现,即转换为提示符方式。
Outline Data
Predicate Information

-
Access
-
通过某种方式定位了需要的数据,然后读取出这些结果集,叫做Access。
-
表示这个谓词条件的值将会影响数据的访问路径(表还是索引)。
-
Filter
-
把所有的数据都访问了,然后过滤掉不需要的数据,这种方式叫做filter 。
-
表示谓词条件的值不会影响数据的访问路径,只起过滤的作用。
Predicate Information
Column Projection Information

1
执行时每一步骤所返回的列,下面的不同步骤返回了不同的列。
Column Projection Information

