使用DBMS_SQLTUNE優化SQL

--創建優化任務

DECLARE

my_task_name VARCHAR2 (30);
my_sqltext CLOB;
BEGIN
my_sqltext := 'select * from test_tune t where t.owner=''SCOTT''';
my_task_name := dbms_sqltune.create_tuning_task (
sql_text=> my_sqltext,
user_name => 'LEE',
scope => 'COMPREHENSIVE',
time_limit => 60,
task_name =>'sql_tuning_test',
description => 'Tuning Task'
);
END;

/


--執行優化任務

exec dbms_sqltune.execute_tuning_task('sql_tuning_test');


--查看任務狀態

SELECT status FROM USER_ADVISOR_TASKS WHERE task_name = 'sql_tuning_test';


--查看優化結果
SET LONG 999999
SET SERVEROUTPUT ON SIZE 999999

SET LINESIZE 100

SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('sql_tuning_test') FROM DUAL;


--刪除優化任務
exec dbms_sqltune.drop_tuning_task('sql_tuning_test');
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章