자료실

[Quest SQL Optimizer] SQL문장 변경을 이용한 SQL 튜닝 자동화

참고 : 이 내용은 Quest SQL Optimizer for Oracle 9.3(Toad for Oracle 2018 R2 (V13.1, Xpert Edition 이상))버전 기반으로 작성되었습니다.



Quest SQL Optimizer for Oracle은 오라클에서 사용하는 SQL의 튜닝 과정을 자동화하고 SQL 성능을 개선하는데 활용할 수 있습니다.

주요 기능은 오라클 SGA 영역에서 악성 SQL추출, SQL 재작성을 통한 SQL 성능 개선,

여러 SQL문장들에 대한 인덱스 최적화, 영향도 분석, SQL Plan 관리 등이 있습니다.

이 중에서 SQL 재작성을 통한 SQL 성능 개선은 SQL 튜닝 시 일반적으로 많이 사용하는 방법으로

Quest SQL Optimizer를 이용하면 복잡하고 반복적인 튜닝 과정을 단순화하고 자동화할 수 있습니다.


Quest SQL Optimizer for Oracle프로그램은 Toad for Oracle Xpert 에디션 이상(Xpert, Developer, DBA)에 기본적으로 포함되어 있고,\

토드 프로그램과 상관없이 Quest SQL Optimizer for Oracle 프로그램만 별도로 구매 가능합니다.

이 프로그램은 다른 토드 번들 프로그램과 다르게 바탕화면에 아이콘이 자동으로 생성되지 않기 때문에

[그림1]과 같이 프로그램 목록에서 선택해서 실행하거나 바탕화면에 추가로 아이콘을 생성해 주어야 합니다.


[그림 1. 프로그램 목록에서 Quest SQL Optimizer for Oracle 실행]

 



Quest SQL Optimizer에서 SQL 튜닝을 하기 위해서는 메뉴 탭에서 [Optimize SQL]을 선택합니다.

SQL문장의 성능 개선을 위해 Quest SQL Optimizer에서는 SQL Rewrite하는 방식과 Plan Control하는 방식을 제공합니다.
- SQL Rewrite : Quest SQL Optimizer의 인공지능 엔진을 이용해서 SQL문장을 재작성해서 최적의 SQL 문장을 찾습니다.
- Plan Control : 오라클의 SQL Plan Management 기능을 이용해서 SQL문장에 대한 Plan을 최적화 합니다.


[그림 2. Quest SQL Optimizer의 Optimize SQL메뉴]

 



여기서는 SQL 문장을 튜닝할 때 일반적으로 많이 사용하는 SQL Rewrite에 대해서 살펴보겠습니다.

[그림 2]에서 SQL Rewrite 버튼을 클릭하면 [그림3]과 같이 SQL Rewrite 튜닝 화면이 열리고, 데이터베이스 접속을 위해

화면 왼쪽 위에 [Connection] 또는 [Connect] 버튼을 클릭합니다.


[그림 3. SQL Rewrite 초기 화면]




[그림4]와 같이 SQL을 튜닝할 대상 데이터베이스의 연결 정보를 입력한 후 정상적으로 접속되면

SQL Rewrite 화면에서 Connect 버튼( )이 접속한 데이터베이스 정보( )로 변경됩니다.


[그림 4. 데이터베이스 접속]

 


SQL Rewrite를 이용한 SQL 최적화 방법은 크게 2가지로 구분되는데, 일반적으로 단계적으로 최적화를 진행하는 방법을 권장합니다.
- 자동으로 최적화 진행(Auto Optimize) : 튜닝 대안 SQL을 생성하고 생성된 대안 SQL을 자동으로 일괄 실행하는 방법
- 단계적으로 최적화 진행 : 튜닝 대안 SQL 생성을 완료한 이후 사용자가 선택적으로 대안 SQL을 실행하는 방법



“단계적으로 최적화 진행”하는 방법으로 권장하는 SQL 튜닝 절차는 아래와 같습니다.

1. [그림5]와 같이 “Alternative Details” 부분에 튜닝할 SQL 입력

2. “Rewrite” 버튼( )을 클릭해서 튜닝 대안 SQL 생성

3. “Alternatives” 리스트에서 튜닝 가능성이 높은 SQL문장 또는 상위 10개(Alt1~Alt10) 튜닝 대안 SQL 선택

4. “Test Run” 아이콘( )에서 확장 부분( )을 클릭하고 “Test Run - Selected”를 선택해서

튜닝 대안 SQL 문장을 데이터베이스에서 실제로 실행



[그림 5. 튜닝 대안 SQL 문장 생성 단계]



5. [그림6]과 같이 튜닝 대안 SQL의 실행 결과 확인
6. 성능이 개선된 대안 SQL을 선택해서 튜닝을 위해 재작성된 SQL문장 확인


[그림 6. 튜닝 대안 SQL의 실행 결과 확인]

 

[그림6]의 실행 결과에서  로 표시된 Alt2 대안 SQL이 실행시간이 현재까지 실행된 대안 SQL(Alt1~Alt10) 중에서

실행시간이 가장 빠른 SQL 문장입니다.


만약에 5번 절차까지 실행한 대안 SQL들의 실행 결과가 만족스럽지 않을 경우

아직 실행하지 않은 대안 SQL을 추가로 선택해서 위 3, 4, 5 절차를 반복해서 실행하면서 튜닝 SQL을 찾습니다.


퀘스트소프트웨어코리아(주)

서울특별시 강남구 테헤란로 445 본솔빌딩10F
전화 번호 02-3420-9000 | 팩스 번호 02-569-3600

전자 메일 KoreaMarketing@quest.com 


Copyright © Quest. All Rights Reserved.

Hosting by I'MWEB


퀘스트소프트웨어코리아(주) 서울특별시 강남구 테헤란로 445 본솔빌딩10F
전화 번호 02-3420-9000 | 팩스 번호 02-569-3600 | 전자 메일 KoreaMarketing@quest.com


Copyright © Quest. All Rights Reserved.

Hosting by I'MWEB