SQL Tuning Advisor
개념 :
- Oracle 10g 의 새기능인 Automatic Workload Repository(AWR) 의 튜닝 솔루션인
Server-Based Advisors의 콤포넌트 중의 하나이다.
- Server-Based Advisors 는 다음과 같이구성된다.
Automatic Database Diagnostic Monitor (ADDM)
SQL Tuning Advisor
SQL Access Advisor
Shared Pool Advisor
MTTR Advisor
- SQL Tuning Advisor 는 SQL 구문들을 분석하여 튜닝방법을 제안한다.
- 튜닝방법을 제안하는 것에서 그치지 않고 쉽게적용할수 있도록 도와주기도 한다.
사용방법:
-엔터프라이져 매니져를 통해 관리할수도 있지만 여기서는 DBMS_SQLTUNE 패키지를
사용하기로 한다.
1) 튜닝 Task 생성
Declare
ret_val varchar2(2000);
Begin
ret_val:=dbms_sqltune.create_tuning_task(sql_text=>
'SELECT *FROM EMP WHERE EMPNO=7934');
dbms_output.put_line('Output: 'ret_val);
end;/
OUTPUT: TASK_00004
2) 튜닝가이드 생성
Exec Dbms_sqltune.execute_tuning_task('TASK_00004');
3) 튜닝 리포트 생성
set serveroutput on size 999999
set long 999999
select dbms_sqltune.report_tuning_task ('TASK_00004') from dual;
4)결과분석
GENERAL INFORMATION SECTION
----------------------------------------------------
Tuning Task Name : TASK_00004
Scope : COMPREHENSIVE
Time Limit(seconds): 1800
Completion Status : COMPLETED
Started at : 11/06/2003 01:47:38
-------------------------------------------------------------------------------------------
제시하고 있다.
Rationale 항목에서는 튜닝방법대로 했을경우 옵티마이져가 어떻게 반응하는지를 보여준다.
위의 예제에서는 통계정보를 생성하면 실행계획이 바뀐다는점을 알려주고 있다.
신기하지 않은가?
'Oracle > SQL Tuning' 카테고리의 다른 글
분석함수를 이용한 TOP SQL은 튜닝이 불가한가? (5) | 2009.05.22 |
---|---|
Top SQL-( Rownum 의 정확한 사용법 ) (2) | 2009.03.26 |
인덱스없는 컬럼의 Order by 시 페이징 처리는 효율적인가? (2) | 2008.08.26 |
다양한 검색조건의 튜닝방법 (3) | 2008.08.05 |
DBMS_ADVANCED_REWRITE (1) | 2008.04.15 |