explain plan 是乙個很好的分析sql語句的工具,它甚至可以在不執行sql的情況下分析語句. 通過分析,我們就可以知道oracle是怎麼樣連線表,使用什麼方式掃瞄表(索引掃瞄或全表掃瞄)以及使用到的索引名稱.
你需要按照從裡到外,從上到下的次序解讀分析的結果. explain plan分析的結果是用縮排的格式排列的, 最內部的操作將被最先解讀, 如果兩個操作處於同一層中,帶有最小操作號的將被首先執行.
nested loop是少數不按照上述規則處理的操作, 正確的執行路徑是檢查對nested loop提供資料的操作,其中操作號最小的將被最先處理.
1.執行
explain plan set statement_id='test_sql_plan_0001'
forselect * from table_name'
2.檢視sql執行計畫
select a.operation,options,object_name,object_type,id,parent_id
from plan_table a
where statement_id='test_sql_plan_0001'
order
by id;
3.檢視執行結果
operation options object_name object_type id parent_id
1 select statement 0
2 hash join
outer10
3 hash join21
4table access by index rowid trd_cmmd_send_relation table32
5 bitmap conversion to rowids 4
36 bitmap and54
7 bitmap index single value idx_cmmd_id index (bitmap) 6
58 bitmap index single value idx_relation index (bitmap) 759
table access full trd_plat_org table82
10table access full trd_project_org table91
4.分析
根據sql執行計畫,調優sql語句
用PL SQL檢視SQL語句執行計畫
一般通過很多任務具可以看pl sql的執行計畫來分析語句效能。這裡介紹通過pl sql檢視sql執行計畫的幾種方法 方法一.set autotrace on 然後當執行你的sql語句的時候,執行計畫自動顯示出來。不想看執行計畫了,set autotrace off 方法二.執行語句 explain ...
檢視sql執行計畫
第一種方式 set autotrace on 第二種方式 explain plan for select sysdate from dual 第三種方式 dbms xplan.display cursor alter session setstatistics level all 不設定無法獲得a ...
EXPLAIN檢視SQL執行計畫
參考 mysql王者晉級之路 如有錯誤的地方,請大家一定不吝指出,不勝感激。還有,不夠全面,以後隨著理解的深入我會不斷加內容的。我們寫完乙個sql語句,為了讓它高效能地執行,一定要explain一下,檢視一下它的執行計畫。檢視心法 1.首先從查詢型別type列開始檢視,如果出現all關鍵字,那麼不用...