獲取執行計畫的4種方式

2021-08-31 16:53:39 字數 1389 閱讀 7015

獲取執行計畫的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...