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

Oracle执行计划详解

程序猿的向往 2021-04-08
932

点击上方蓝字关注我们!


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

    1. 通过某种方式定位了需要的数据,然后读取出这些结果集,叫做Access。

    2. 表示这个谓词条件的值将会影响数据的访问路径(表还是索引)。

  • Filter

    1. 把所有的数据都访问了,然后过滤掉不需要的数据,这种方式叫做filter 。

    2. 表示谓词条件的值不会影响数据的访问路径,只起过滤的作用。


    Predicate Information


Column Projection Information

1


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


Column Projection Information



扫码

长按关注

    关注

惊喜不断



文章转载自程序猿的向往,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论