多種方法檢視Oracle SQL執行計畫

2021-08-30 12:38:20 字數 1877 閱讀 3058

二.使用oracle第三方工具:

plsql developer(f5)

toad (ctrl+e)

三.使用sql*plus:

如果plan_table表不存在,執行$oracle_home/rdbms/admin/utlxplan.sql建立plan_table表。

如果plustrace角色不存在,執行

$oracle_home/sqlplus/admin/plustrce.sql

1.sqlplus / as sysdba

set autotrace on;

關於autotrace幾個常用選項的說明:

set autotrace off ---------------- 不生成autotrace 報告,這是預設模式

set autotrace on explain ------ autotrace只顯示優化器執行路徑報告

set autotrace on statistics -- 只顯示執行統計資訊

set autotrace on ----------------- 包含執行計畫和統計資訊

set autotrace traceonly ------ 同set autotrace on,但是不顯示查詢

2.執行sql

四.sql trace

1.alter session set sql_trace=true;

2.執行sql

3.alter session set sql_trace=false;

4.檢視相應的sql trace檔案。

五.診斷事件(10046)

1.alter session set events '10046 trace name context forever,level 12';

2.執行sql

3.alter session set events '10046 trace name context off';

3.檢視相應的sql trace檔案。

可利用tkprof工具檢視跟蹤檔案

tkprof是乙個用於分析oracle跟蹤檔案並且產生乙個更加清晰合理的輸出結果的可執行工具。如果乙個系統的執行效率比較低,乙個比較好的方法是跟蹤使用者的會話並且使用tkprof工具的排序功能格式化輸出,從而找出有問題的sql語句。

tkprof命令後面的選項及輸出檔案各個列的含義在這裡不做詳細的介紹。google一下就會有很多資料。

下面簡單描述一下tkprof工具的使用步驟:

1、在session級別設定sql_trace=true

sys@orcl>alter session set sql_trace=true;

session altered.

如果要在pl/sql中對session級別設定true,可以使用dbms_system這個包:

sys@orcl> exec dbms_system.set_sql_trace_in_session(sid,serial#,true);

2、指定一下生成的trace檔案的名字,便於查詢:

sys@orcl>alter session set trace file_identifier='yourname';

3、執行sql語句。

4、利用tkprof工具格式化輸出的trace 檔案:

[oracle@q1test01~] $tkprof/oracle/admin/orcl/udump/orcl_ora_10266_yourname.trc/oracle/yourname.txtexplain=user/pwdaggregate=yessys=nowaits=yessort=fchela

5、檢視生成的檔案再設定sql_trace=false:

sys@orcl>alter session set sql_trace=false;

單例模式多種方法

第一種 懶漢式 在需要例項物件的時候提供 懶漢式,提供乙個getinstance方法,在需要例項時,才呼叫 執行緒不安全,可以在getinstance上加synchronized保證執行緒安全,但是效能不高 author wb public class singleton 私有乙個例項 privat...

清除浮動多種方法模擬

方法一 父級設定固定高度。注 適用於高度固定時使用 class div1 class left leftdiv class right rightdiv div class div2 div2 div div1 left right div2 方法二 在浮動結尾處新增空div,使用clear bot...

多種方法搞定反向查詢

一 vlookup函式另類用法 1.vlookup作為查詢函式中的神器,相信很多職場人都用過,但它有個小缺點,只能找查詢字段右側的資料,在查詢字段左側的資料,一找就報錯。什麼都不說,上圖驗證 2.vlookup函式有四個引數 第乙個引數是要查詢的字段gg 第二個引數是選擇資料區域a2 e10 第三個...