sqlplus中檢視執行計畫分析

2021-08-31 11:11:12 字數 1289 閱讀 6016

對於oracle9i,需要手工設定plustrace角色,步驟如下:

1、在sql>connect sys/密碼 as sysdba (密碼為:資料庫所在的那台伺服器的密碼)

在sys使用者下執行$oracle_home/sqlplus/admin/plustrce.sql

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

這段sql的實際內容如下:

set echo on

drop role plustrace;

create role plustrace;

grant select on v_$sesstat to plustrace;

grant select on v_$statname to plustrace;

grant select on v_$mystat to plustrace;

grant plustrace to dba with admin option;

set echo off

以上產生plustrace角色

2、在sys使用者下把此角色賦予一般使用者

sql> grant plustrace to 使用者名稱; (使用者名為:當前你登陸資料庫的使用者名稱,如:bbass)

3、然後在當前使用者下執行$oracle_home/rdbms/admin/utlxplan.sql

sql>@$oracle_home/rdbms/admin/utlxplan.sql 它會建立乙個plan_table,用來儲存分析sql語句的結果。

4、sql> set timing on

可檢視sql語句執行的用時

sql> set autotrace on;

可檢視sql執行計畫分析。

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

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

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

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

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

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

5,關閉以上功能,在sql/plus的視窗執行以下命令

set time off; (說明:關閉時間顯示)

set autotrace off;

Sqlplus檢視執行計畫

sqlplus檢視執行計畫 1 在sys使用者下,建立角色plustrace sql conn sys as sysdba enter password connected.sql oracle home sqlplus admin plustrce.sql plustrce.sql檔案內容 set...

Oracle檢視SQL執行計畫,分析SQL效能

使用pl sql檢視,具體使用方法如下 table access by index rowid 通過rowid的表訪問,一次i o只能讀取乙個資料塊。通過rowid讀取表字段,rowid可能是索引鍵值上的rowid table access full 全表掃瞄,對所有表中記錄進行掃瞄。表字段不涉及索...

MySQL SQL執行計畫分析

當我們的系統上線後資料庫的記錄不斷增加,之前寫的一些sql語句或者一些orm操作效率變得非常低。我們不得不考慮sql優化,sql優化大概是這樣乙個流程 1.定位執行效率低的sql語句 定位 2.分析為什麼這段sql執行的效率比較低 分析 3.最後根據第二步分析的結構採取優化措施 解決 而explai...