Oracle 如何檢視執行計劃
阿新 • • 發佈:2018-12-11
定義:用來執行目標SQL語句的這些步驟的組合就被稱為執行計劃。 oracle檢視執行計劃的幾種方式: 1、explain plan命令(可能不準確,SQL語句沒有實際執行是個估計值)
--語法:explain plan for 目標sql
explain plan select * from customer;
PL/SQL Developer執行計劃就是對explain plan的封裝
2、DBMS_XPLAN包
#1 檢視explain plan命令後得到的執行計劃
select * from table(dbms_xplan.display);
#2 檢視當前視窗剛剛執行過的SQL的執行計劃(前提是執行計劃還在Shared Pool中)
select * from table(dbms_xplan.display_cursor(null,null,'advanced');
#3 檢視指定sql的執行計劃 sql_id/hash_value可通過v$sql檢視(前提是執行計劃還在Shared Pool中)
select * from table(dbms_xplan.display_cursor('sql_id/hash_value',child_cursor_number,'advanced');
#4 檢視指定SQL的所有歷史執行計劃
select * from table(dbms_xplan.display_awr('sql_id' );
3、AUTOTRACE開關
#語法
SET AUTOTRACE {OFF|ON|TRACEONLY}
[EXPLAIN]
{STATISTICS}
SET AUTOT ON;
select * from customer;
4、10046事件與tkprof命令 還沒有使用過不描述。