看懂執行計划之執行順序


口訣

最右最上先執行

方法

  1. 從上往下,第一個沒有子節點的步驟先執行
  2. 對於兄弟節點,即靠上的節點先執行
  3. 所有兄弟節點執行完以后,執行父節點

  1. 縮進最深的,最先執行
  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;
該SQL必須同explain plan for 在同一個session(即同一個窗口執行)

查看執行順序工具


在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM