Oracle如何檢視sql的真實執行計劃

時間 2021-07-18 17:45:20

1樓:

查詢v$sql_plan檢視中的實際執行計劃

1:在視窗執行下面sql語句

select ename, sal from scott.emp, scott.dept

where emp.deptno =dept.deptno

and   dept.loc='chicago';

2:檢視執行sql的sql_id

select sql_id, sql_text from v$sql where sql_text like '%select ename, sal from scott.emp, scott.dept%'

3: 檢視v$sql_plan檢視

select * from v$sql_plan where sql_id='7m5qbhn98j1xw';

通過v$sql_plan檢視檢視實際執行計劃,其實是不太現實的,因為閱讀困難,可讀性差,尤其是複雜sql語句。

2樓:匿名使用者

安裝一個 si objectbrowser 8老版本,能直接看。

oracle如何檢視sql實際執行計劃

3樓:

1、 檢視最近執行的sql語句

select /*recentsql*/s.sql_id,s.child_number,s.

hash_value,s.address,s.executions,s.

sql_text

from v$sql s

where s.parsing_user_id = (

select u.user_id from all_users u

where u.username = 'yh_test'

) and s.command_type in (2 ,3, 6,7 ,189)

and upper(s.sql_text) not like upper( '%recentsql%')

2、使用dbms_xplan.display_cursor檢視執行計劃,它的用法見筆記 《dbms_xplan.display_cursor的用法》,

注意了:若dbms_xplan.display_cursor要以allstats last格式輸出的話,/*+gather_plan_statistics*/這個提示資訊放到查詢語句中是必須的。

select /*+gather_plan_statistics*/ /*plan_statistics1*/ name ,salary from test where name = 't1' ;

select s.sql_id,s.child_number,s.hash_value,s.address,s.executions,s.sql_text

from v$sql s

where upper(s.sql_text) like upper('%plan_statistics1%' )

and upper(s.sql_text) not like upper( '%v$sql%');

select * from table (dbms_xplan.display_cursor('4wktu80k1xy5k' , 0, 'allstats last cost' ));

如何檢視oracle資料庫版本,如何檢視Oracle資料庫版本

天水資訊釋出 檢視辦法如下 sqlplus,cmd plsql,登陸使用者,建議用sysdba許可權的賬戶登陸。product component version,sql select from product component version。即可查詢到版本,例如 oracle 9.0.1.1....

oracle監聽狀態怎麼檢視,如何檢視和開啟oracle監聽和服務

檢視狀態命令 lsnrctl status 啟動監聽 lsnrctl start 關閉監聽 lsnrctl stop lsnrctl status 如何檢視和開啟oracle監聽和服務 1 檢查oracle監聽服來務執行狀源態,輸入lsnrctl status命令來查bai看,看到提示資訊tns n...

oracle中sql語句如何動態拼接

龍氏風采 sql code 在儲存過程裡面完成唄 例 create or replace procedure yyp cwdh table name varchar isstr sql varchar2 400 begin str sql select from table name where 1...