执行计划的执行顺序精解(2)

格式化显示执行计划的父子关系,通过父子关系,分析执行计划的执行顺序

select id, parent_id, operation

  from (select level lvl,

               id,

               parent_id,

               lpad(' ', level) || operation || ' ' || options || ' ' ||

               object_name as operation

          from plan_table

         start with id = 0

        connect by prior id = parent_id)

 order by lvl desc, id;

    ID  PARENT_ID  OPERATION

    5   4         INDEX UNIQUE SCAN DEPT_ID_PK

    7   6         INDEX UNIQUE SCAN LOC_ID_PK

    4   3        TABLE ACCESS BY INDEX ROWID DEPARTMENTS

    6   3        TABLE ACCESS BY INDEX ROWID LOCATIONS

    3   2       NESTED LOOPS 

    8   2       TABLE ACCESS FULL EMPLOYEES

    2   1      NESTED LOOPS 

    9   1      TABLE ACCESS FULL JOBS

    1   0     HASH JOIN 

    0      SELECT STATEMENT 

 

分析执行计划顺序

 ID 红色显示的为子ID(也就是语句的执行顺序,后面我将具体分析),parent_id 黑色显示的为父ID. 查看缩进关系,最深缩进的ID57,那么它们先执行,因为缩进的深度一致,根据先上后下的原则,ID=5的最先执行,ID=4第二个执行。依据父子关系图,ID=5的父亲为parent_id=4ID=7的父亲为parent_id=6

因为缩进的深度一致,根据先上后下的原则,ID=7的第三个执行,ID=6的第四个执行。依据父子关系图,ID=4parent_id父亲为3ID=6的父亲parent_id也为3ID=8因为缩进深度与ID=3的缩进深度一致,根据先上后下的原则,ID=3的第五个执行,ID=8的第六个执行。依据父子关系图,ID=3的父亲为parent_id=2ID=9的因为缩进的深度与ID=2一致,根据先上后下的原则,ID=2的第七个执行,ID=9的第八个执行。ID=2ID=9的父亲都是1第九个执行的是ID=1,最后执行的是ID=0

 

 执行的顺序ID为:5>4>7>6>3>8>2>9>1>0

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21266384/viewspace-767735/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21266384/viewspace-767735/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值