四種dbms包檢視執行計劃的區別

fei890910發表於2016-03-19

方法一
select * from table(dbms_xplan.display)
需要和explain plan 配合使用,用於使用在explain plan命令之後的執行計劃
方法二
select * from table(dbms_xplan.display_cursor(null,null,'advanced/all'))
用於sqlplus中剛剛執行過的sql的執行計劃,advanced顯示的比all稍微詳細
方法三
select * from table(dbms_xplan.display_cursor('sql_id/hash_value',child_cursor_name,'advanced')
用於檢視指定sql 的執行計劃,第二個引數是執行計劃所在的cursor
方法四
select * from table(dbms_xplan.display_awr('sql_id'))
用於檢視指定sql 的歷史執行計劃,使用方法二、三的前提條件是執行計劃還在shared pool中,如果執行計劃被age out
shared pool中,且被oracle採集到awr中,我們使用方法四來看

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29108064/viewspace-2059907/,如需轉載,請註明出處,否則將追究法律責任。

相關文章