sql 自動調優

2021-08-03 09:29:09 字數 1675 閱讀 1421

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 查詢按常...