Oracle 如何啟用執行計畫

2021-08-26 10:57:17 字數 1963 閱讀 3937

1 啟用autotrace

1.1 以sys使用者,執行utlxplan.sql

sqlplus / as sysdba

sql> @$oracle_home/rdbms/admin/utlxpls.sql

1.2 通過執行plustrce.sql指令碼建立plustrace角色

sql> @$oracle_home/sqlplus/admin/plustrce.sql

1.3 授權

將 plustrace 角色授予當前使用者(無 dba 角色的使用者),或者grant plustrace to public;

2 設定autotrace的命令

序號

命令

解釋

1

set autotrace off

此為預設值,即關閉autotrace

2

set autotrace on

產生結果集和解釋計畫並列出統計

3

set autotrace on explain

顯示結果集和解釋計畫不顯示統計

4

setautotrace traceonly

顯示解釋計畫和統計,儘管執行該語句但您將看不到結果集

5

set autotrace traceonly statistics

只顯示統計

eg:set autotrace on, set timing on, alter session set time_statistics=true;

3 autotrace執行計畫的各列的涵義

序號

列名

解釋

1

id_plus_exp

每一步驟的行號

2

parent_id_plus_exp

每一步的parent的級別號

3

plan_plus_exp

實際的每步

4

object_node_plus_exp

dblink或並行查詢時才會用到

4autotrace statistics常用列解釋

序號

列名

解釋

1

db block gets

從buffer cache中讀取的block的數量

2

consistent gets

從buffer cache中讀取的undo資料的block的數量

3

physical reads

從磁碟讀取的block的數量

4

redo size

dml生成的redo的大小

5

sorts (memory)

在記憶體執行的排序量

6

sorts (disk)

在磁碟上執行的排序量

oracle如何看執行計畫

文章寫的不錯,原文請看 另外,最近公司舉行sql優化大賽,下面是自己的一些總結 1.首先要理解sql的意圖,這樣才能等價的改寫出sql 2.要保證執行的正確性 比如這次的left join,還有上次的建立序列 3.建立索引是第一步,建立索引後要考慮索引能否被用到 執行計畫是否走所建的索引,索引欄位上...

oracle如何檢視執行計畫

1.在pl sql developer中得到乙個sql的執行計畫 輸入想要檢視執行計畫的目標sql,再按一下快捷鍵f5就可以了。2.explain plan 命令 explain plan for 目標sql select from table dbms xplan.display 3.dbms x...

如何查詢oracle執行計畫 總結

第一種 explain plan命令 plsql devoloper中的f5鍵在內部也是呼叫的此命令 用法 依次執行以下語句 explain plan for 目標sql select from table dbms xplan.display 第二種 使用dbms xplan包 1 select ...