獲取執行計畫的4種方式
1:從計畫表中獲取,計畫表名預設是plan_table,可以直接查詢計畫表,也可以使用dbms_xplan.display函式
explain plan for select * from tbuser;
select * from table(dbms_xplan.display);
2:從動態檢視中獲取,有4個動態檢視(v$sql_plan,v$sql_plan_statistics,v$sql_workarea,v$sql_plan_statistics_all),可以直接查詢動態檢視,也可以使用dbms_xplan.display_cursor函式
select * from table(dbms_xplan.display_cursor('1hqjysdfoiewr',0));
3:從awr庫中獲取,可以直接查詢檢視dba_hist_sql_plan,也可以使用dbms_xplan.display_awr函式
select * from table(dbms_xplan.display_awr('1hqjysdfoiewr'));
4:通過10053,10132,10046事件或sql_trace跟蹤
alter session set events '10053 trace name context forever';
alter session set events '10053 trace name context off';
執行計畫中特殊字段說明:
tempspc: 估算要使用的臨時表空間,如果pga記憶體夠用的話,這個字段應該就不顯示了。
cost(%cpu):估算的成本,%cpu代表了cpu開銷的百分比,父操作開銷包含子操作開銷。
starts: 操作執行次數,很有用。
a-rows: 返回的真實記錄數。
a-time: 使用的真實時間。
omem: 最優執行所需記憶體的估算值。
imem: 一次通過(one-pass)執行所需記憶體的估算值。
0/1/m: 最優/一次通過/多次通過(multipass)操作執行的次數。
user-men: 最後一次執行時操作使用的記憶體。
user-tmp: 最後一次執行時操作使用的臨時表空間大小,擴大1024倍。
max-tem: 操作使用的最大臨時表空間大小,擴大1024倍。
注:one-pass 使用最少的磁碟操作,大部分操作在記憶體中執行。
multipass 因工作區設定太小,存在大量的磁碟操作,效能下降。
php的4種常見執行方式
這篇文章主要介紹了php的4種常見執行方式,本文講解了cgi fastcgi apache2handler cli等4種執行方式,需要的朋友可以參考下 1 cgi cgi即通用閘道器介面 common gatewag inte ce 它是一段程式,通俗的講cgi就象是一座橋,把網頁和web伺服器中的...
獲取執行計畫 EXPLAN PLAN
一般獲取執行計畫有四種途徑 1 執行explain plan,查詢結果輸出表。2 查詢動態效能檢視,它顯示快取在庫快取中的執行計畫 有時查不出結果是因為執行計畫已經不在庫快取中 3 查詢awr或statspack表。4 啟動提供執行計畫的跟蹤功能 set autotrace trace explai...
如何獲取真實的執行計畫
驗證 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...