使用 SQL Tuning Advisor

我的sql在oracle數據庫上需要運行很長時間,找來找去不知道如果優化是好。於是選擇了SQL Tuning Advisor來幫助我,它會給出一些建議。以下語句在任何dbcilent運行均可,如sqlplus

1. 創建sql tuning任務
declare
l_task_id varchar2(20);
l_sql varchar2(2000);
begin l_sql := 'sql demo';
dbms_sqltune.drop_tuning_task ('FOLIO_COUNT');//如果第一次運行刪除此行
l_task_id := dbms_sqltune.create_tuning_task (
sql_text => l_sql,
user_name => 'ARUP',
scope => 'COMPREHENSIVE',
time_limit => 120,
task_name => 'FOLIO_COUNT' );

dbms_sqltune.execute_tuning_task ('FOLIO_COUNT');//創建任務
end;

2. 查看結果
這個包創建並執行了一個名爲FOLIO_COUNT的調整任務。接下來,您將需要查看任務執行的結果(也就是說,查看建議)。
set serveroutput on size 999999
set long 999999
select dbms_sqltune.report_tuning_task ('FOLIO_COUNT') from dual;

3.查看任務執行狀態。

SELECT status FROM USER_ADVISOR_TASKS WHERE task_name = 'FOLIO_COUNT';
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章