Oracle之SQL最佳化顧問
--授權
grant administer any sql tuning set to scott;
grant advisor to scott;
grant create any sql profile to scott;
grant alter any sql profile to scott;
grant drop any sql profile to scott;
--建立任務
declare
tuning_task_name VARCHAR2(30);
tuning_sqltext CLOB;
begin
tuning_sqltext := 'select job from emp';--注意,這裡不支援*,要寫上具體的欄位名
tuning_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(
sql_text => tuning_sqltext,
user_name => 'SCOTT',
scope => 'COMPREHENSIVE',
time_limit => 60,
task_name => 'sql_trace_20131124',
description => 'EMP SELECT TUNE');
end;
--所有已經建立任務的查看
select * from user_advisor_log;
-- 任務的執行
exec dbms_sqltune.execute_tuning_task(task_name => 'sql_trace_20131124');
--任務執行後狀態的檢查
select * from user_advisor_tasks t where t.task_name = 'sql_trace_20131124'
--最終報告的產生
select dbms_sqltune.report_tuning_task('sql_trace_20131124') from dual;
--任務的刪除
exec dbms_sqltune.drop_tuning_task('sql_trace_20131124');
Oracle Update執行計畫原理解析與最佳化
Oracle 資料表空間管理和最佳化
Oracle 表三種串連方式(SQL最佳化)
關於Oralce資料庫最佳化的幾點總結
Oracle- insert效能最佳化
Oracle 資料區塊最佳化參數