天天看點

Oracle 檢視執行計劃

定義:用來執行目标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指令

還沒有使用過不描述。