oracle 11版本之後,oracle支援自動調優,預設開啟自動調優任務,每天執行一次,可以檢視生成的調優建議。
本文的sql語句基於 11.2.0.1.0版本,不保證在其他版本上的可用性。
select client_name,status,consumer_group,window_group from dba_autotask_client order by client_name;
其中乙個是 sql tuning advisor sql調優顧問。
select task_name,status,to_char(execution_end,'dd-mon-yy hh24:mi') from
dba_advisor_executions where task_name='sys_auto_sql_tuning_task' order by
execution_end;
set linesize 3000 pagesize 0 long 100000
select dbms_sqltune.report_auto_tuning_task from dual;
一般會有大量輸出,在sqlplus上不方便檢視,最好能匯出到文字中。
建立兩個sql檔案,auto_tuning_report_init.sql 是環境初始化設定和執行語句,
auto_tuning_report.sql 是查詢sql自動調優建議的sql語句,會被前乙個呼叫,
最終會在當前目錄下生成 auto_tuning_report.txt
裡面包含詳細資訊和建議。
根據sql建議,可以生成相應的調優的sql語句指令碼。
建立兩個sql檔案,generate_tuning_sql_init.sql 是環境初始化設定和執行語句,
generate_tuning_sql.sql 是生成調優sql的sql語句,會被前乙個呼叫,
最終會在當前目錄下生成 auto_tuning_report_sql.txt
begin
dbms_auto_task_admin.disable(
client_name => 'sql tuning advisor',
operation => null,
window_name => null);
end; /
begin
dbms_auto_task_admin.enable(
client_name => 'sql tuning advisor',
operation => null,
window_name => null);
end;
/
SQL調優之八 關於SQL調優
sql調優是指對未達到預期的sql語句進行診斷和修復 sql調優是乙個反覆的過程,是一步一步的將sql語句的效能提公升到預期的目標。它是對乙個已經實施完成了的應用的問題的解決,相反的,應用設計則是在實施之前,就應該已經設定好了安全和效能的目標。一次典型的調優過程,需要達到以下的其中乙個目的 相對的,...
sql調優技巧
1 避免無計畫的全表掃瞄 如下情況進行全表掃瞄 該錶無索引 對返回的行無人和限制條件 無where子句 對於索引主列 索引的第一列 無限制條件 對索引主列的條件含在表示式中 對索引主列的限制條件是is not null或 對索引主列的限制條件是like操作且值是乙個bind variable或 打頭...
SQL調優命令
命令工具 oracle sql plus 或者cmd sqlplus mmsuser agooy8tt xian 133 64 46 26 是 set autotrace off 不產生autotrace報告,預設設定,查詢按常規執行。set autotrace on statistics 查詢按常...