口诀

最右最上先执行

方法

  1. 从上往下,第一个没有子节点的步骤先执行
  2. 对于兄弟节点,即靠上的节点先执行
  3. 所有兄弟节点执行完以后,执行父节点

  1. 缩进最深的,最先执行
  2. 缩进深度相同的,先上后下

原则

从上至下,从右向左

由上至下:在执行计划中一般含有多个节点,相同级别(或并列)的节点,靠上的优先执行,靠下的后执行
从右向左:在某个节点下还存在多个子节点,先从最靠右的子节点开始执行。

  先从最开头一直连续往右看,直到看到最右边的并列的地方;对于不并列的,靠右的先执行;如果见到并列的,就从上往下看,对于并列的部分,靠上的先执行。

格式化显示父子关系

1
2
3
4
5
6
7
8
9
10
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;

该SQL必须同explain plan for 在同一个session(即同一个窗口执行)

查看执行顺序工具

  • PL/SQL Developer 快捷键 F5
    示例

  • XPLAN 包
    XPLAN 包
    扫码获取xplan包