如何獲取真實的執行計畫

2021-09-02 15:09:43 字數 1549 閱讀 6353

驗證explainplan

命令與setautotrace

命令是否為真實執行計畫

0conn/assysdba;

1createtablet1asselect*fromdba_objects;

2insertintot1select*fromt1;

3commit;

4selectcount(1)fromt1;

5createindexidx_t1ont1(object_id);

--收集統計資訊

6execdbms_stats.gather_table_stats(ownname=>'sys',tabname=>'t1',estimate_percent=>100,cascade=>true);

7select*fromtable(dbms_xplan.display);

varxnumber;

varynumber;

exec:x:=0;

exec:y:=100000;

--explain命令

顯示走idx_t1

索引範圍(

range

)掃瞄selectcount(*)fromt1whereobject_idbetween:xand:y;

--dbms_xplan.display_cursor(null,null,'advanced')得到真實執行計畫

indexfastfull快速全掃瞄

---setautotracetraceonly驗證

顯示走idx_t1

索引範圍(

range

)掃瞄結論:

使用setautotrace,setautotrace

源於explainplan

是不準確的

,特別是繫結變數下查詢是不準確的

-dbms_xplan.display_cursor(null,null,'advanced')

和10046事件獲取真實的執行計畫

如何獲取真實的執行計畫

驗證 explain plan 命令 與 set autotrace 命令 是否為真實執行計畫 0 conn as sysdba 1 create table t1 as select from dba objects 2 insert into t1 select from t1 3 commit...

如何獲取真實的執行計畫

驗證 explain plan 命令 與 set autotrace 命令 是否為真實執行計畫 0 conn as sysdba 1 create table t1 as select from dba objects 2 insert into t1 select from t1 3 commit...

獲取執行計畫 EXPLAN PLAN

一般獲取執行計畫有四種途徑 1 執行explain plan,查詢結果輸出表。2 查詢動態效能檢視,它顯示快取在庫快取中的執行計畫 有時查不出結果是因為執行計畫已經不在庫快取中 3 查詢awr或statspack表。4 啟動提供執行計畫的跟蹤功能 set autotrace trace explai...