Toad for Oracle 기본강좌
Auto Optimize SQL 0 5 99,004

by 토드 Toad 통합에디터 [2014.05.06]


Toad for Oracle은 Auto Optimize SQL 기능을 이용해 단일 SQL 문을 빠르게 최적화할 수 있습니다.

Auto Optimize SQL은 수행시간이 더 빠르거나 동일한 수행시간 내에서 리소스를 더 적게 사용하는 대안 SQL을 생성하고 원본 SQL과 비교하는 기능을 제공합니다.

대안 SQL은 원본 SQL문에 hint를 추가하거나 SQL을 변형하여 SQL 실행 결과는 같지만 실행 계획은 다른 SQL을 생성합니다. Auto Optimize SQL은 Toad for Oracle Xpert Edition 이상에서만 실행이 가능합니다.

Auto Optimize SQL은 Editor창에서 마우스 오른쪽 버튼을 눌러 Optimize > Auto Optimize SQL을 선택합니다.

  • Toad Auto Optimize SQL

Auto Optimize SQL에 대한 옵션을 선택할 수 있습니다.

  • Toad Auto Optimize SQL

먼저 Database type은 총 3가지가 있습니다. DB 성격에 따라 선택하시면 됩니다. 기본적으로 OLTP가 선택되어 있으며 type을 명확하게 판단하기 힘들 경우 기본을 선택하시면 됩니다.

  • Toad Auto Optimize SQL

Search depth는 얼마나 더 깊은 단계의 대안 SQL을 찾아낼지에 대한 설정입니다. 1부터 5까지가 있으며 숫자가 커질수록 더 복잡하고 많은 수의 대안 SQL을 작성합니다. 기본 값은 2로 설정되어 있으며 낮은 단계에서 적절한 대안 SQL이 나오지 않으면 숫자를 높여가며 수행할 수 있습니다.

  • Toad Auto Optimize SQL

Stop if optimization exceeds 는 특정한 시간이 지나면 대안 SQL의 search를 중지하는 기능입니다.

  • Toad Auto Optimize SQL

Generate rewrites only (do not execute)는 대안 SQL을 생성은 하지만 실행은 하지 않는 옵션입니다. 이 옵션을 체크하지 않으면 대안 SQL을 생성하고 바로 수행까지 하기 때문에 복잡하고 다수의 SQL이 수행될 경우 의도치 않게 서버에 부하를 줄 수 있습니다. 이 옵션을 체크하면 작성된 대안 SQL 중에서 선별하여 수행하고 결과를 얻을 수 있습니다.

  • Toad Auto Optimize SQL

옵션을 모두 지정하고 OK버튼을 누르면 별도의 창에서 Auto Optimize SQL을 수행합니다. 왼쪽 창은 대안 SQL을 생성하고 각각 수행해서 경과 시간을 보여주는 과정을 진행 중입니다. 오른쪽 창에는 왼쪽에서 선택한 원본 및 대안 SQL을 보여주고 실행 계획 및 실행 후 통계 정보까지 보여줍니다.

  • Toad Auto Optimize SQL

수행 도중에 만족할만한 결과를 얻었다면 100%까지 진행하지 않고 중지시킬 수 있습니다. 현재까지 작성된 대안 SQL과 실행 결과를 가지고 있습니다.

  • Toad Auto Optimize SQL

모두 수행하고 나면 총 몇 개의 대안 SQL을 생성했는지, 그 중 가장 효율적인 SQL은 어떤 SQL인지, 원본 SQL 대비 얼마나 좋은 성능(경과 시간의 단축)을 보이는지에 대한 결과를 보여줍니다.

  • Toad Auto Optimize SQL

실행 계획에서는 마우스 오른쪽 버튼을 눌러 Display mode를 변경할 수 있습니다.

Compare Alternatives탭을 선택하면 원본 SQL과 대안 SQL 및 실행 계획을 비교해 볼 수 있습니다.

  • Toad Auto Optimize SQL

  • - Toad 및 DB 모니터링, 복제, 백업, 네트워크 보안 등 구입 문의
  • - 담당자 : 퀘스트소프트웨어 윤현진 팀장
  • - Tel : 02-3420-9000, 9025(직) HP : 010-3206-4360 Email : Hyunjin.Yoon@quest.com
  • - Toad 커뮤니티 게시판 바로가기
  • - 견적 문의
   

- 강좌 URL : http://www.gurubee.net/lecture/2742

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by 김성율 [2014.07.11 16:44:56]

감사합니다. :D


by 시정잡배 [2014.10.02 09:46:07]

유용하게 쓰고있습니다. 감사합니다


by 김용한 [2015.05.08 11:31:53]

토드쓰면서 이런기능 있는지 첨알았네요

덕분에 1분넘게걸린 느린쿼리 1초만에 나오네요 감사드려요 ~~~


by 케미인 [2018.12.03 10:47:30]

unable to establish optimization session 이라 나오는데, 왜 이런 것일까요? Connection 정보도 맞고.. 그런데..?ㅠㅠㅠㅠㅠㅠㅠ


by 초보개발자 [2020.01.11 00:46:04]

혹시 체험판에서도 사용가능한 기능인가요?

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입