Oracle有多種方式獲得一條SQL語句的查詢計劃,比如使用explain plan命令,在PLSQL Developer里面按F5快捷鍵等,但是作為SQL調優,
Oracle有多種方式獲得一條SQL語句的查詢計劃,比如使用explain plan命令,在PLSQL Developer里面按F5快捷鍵等,但是作為SQL調優,比較簡便的方式,還是在sqlplus中使用set autotrace on和set timing on的方式來得到SQL的實際運行時間和查詢計劃;
第一種:SQLPLUS中的autotrace是分析SQL的執行計劃,執行效率的一個非常簡單方便的工具,使用autotrace不會產生跟蹤文件。利用autotrace工具提供的SQL執行計劃和執行狀態可以為優化SQL提供依據,以及效果的對比。
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機中安裝步驟
Debian 下 安裝 Oracle 11g XE R2
Oracle SQL引擎體系結構圖
Oracle SQL基礎
Oracle SQL 高級篇
AutoTrace用法:
SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} | [EXP[LAIN]] [STAT[ISTICS]]
例如:
SET AUTOTRACE OFF 停止AutoTrace
SET AUTOTRACE ON 開啟AutoTrace,顯示AutoTrace信息和SQL執行結果
SET AUTOTRACE TRACEONLY 開啟AutoTrace,僅顯示AutoTrace信息
SET AUTOTRACE ON EXPLAIN 開啟AutoTrace,僅顯示Autotrace的EXPLAIN信息
SET AUTOTRACE STATISTICS 開啟AutoTrace,僅顯示Autotrace的STATISTICS信息
AutoTrace啟用:
1、使用dba角色用戶sys設置權限,執行腳本plustrce.sql。
Oracle10g存放目錄為${ORACLE安裝目錄}\product\10.2.0\db_1\sqlplus\admin\plustrce.sql
Oracle11g存放目錄為${ORACLE安裝目錄}\product\11.2.0\dbhome_1\sqlplus\admin\plustrce.sql
plustrce.sql腳本用于給SQL*Plus Set AutoTrace命令創建角色plustrace訪問動態性能視圖。該腳本必須在DBA角色權限下執行,
執行完畢后,,給需要使用AutoTrace功能的用戶賦予權限。
plustrce.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
更多詳情見請繼續閱讀下一頁的精彩內容:
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com