Toad for Oracle 기본강좌
SQL PLAN 정보 확인하는 방법 1 4 9,291

by 토드 Toad 통합에디터 Toad SQL PLAN [2014.04.06]


오라클 데이터베이스는 쿼리를 처리할 때 SQL PLAN이라는 것을 작성하고 수행합니다. PLAN이란 어떤 정보를 어떻게 액세스 할지, 어떤 인덱스를 사용할지, 어떤 순서에 의해 어떻게 조인을 할지에 대한 실행 계획입니다.

이는 쿼리의 성능에 영향을 미치며 나아가서는 데이터베이스 전체 성능에 중요한 요인이므로 PLAN 정보를 확인하는 것은 매우 중요한 일입니다.

PLAN 확인 방법

SQL PLAN을 확인하는 방법은 Menu > Editor > Explain Plan Current SQL 을 선택하거나 Ctrl + E 단축키를 사용합니다.

Toad 사용자는 Toad에서 실행한 SQL PLAN을 별도로 PLAN 테이블로 관리할 수 있습니다. Toad에서 PLAN을 처음 조회할 때 다음과 같은 PLAN_TABLE 생성에 대한 팝업이 보입니다.

  • SQL PLAN 정보 확인하는 방법

기존에 사용했던 PLAN_TABLE이 있다면 Search For Plan Table 버튼을 눌러서 검색할 수 있습니다. 새로 PLAN TABLE을 생성하려면 Plan Table을 생성할 Schema를 Plan Table Schema에 입력하고 OK버튼을 눌러서 생성합니다.

  • SQL PLAN 정보 확인하는 방법

위 쿼리에 대한 실행 결과를 확인할 수 있습니다.

Toad에서는 Explain Plan창에서 마우스 오른쪽 버튼을 눌러 Display Mode를 바꿀 수 있습니다.

  • SQL PLAN 정보 확인하는 방법
  • Display Mode - Tree
  • [Display Mode - Tree]

  • Display Mode - DBMS_XPLAN
  • [Display Mode – DBMS_XPLAN]

  • Display Mode - Plain English
  • [Display Mode – Plain English]

  • Display Mode - Graphic
  • [Display Mode – Graphic]

  • Display Mode - MS Graphic
  • [Display Mode – MS Graphic]

PLAN 비교하기

쿼리가 달라지면 SQL PLAN정보는 바뀔 수 있습니다. Toad에서는 쿼리를 수정함에 따라 PLAN이 어떻게 변하는지 원본과 비교할 수 있습니다.

Explain Plan 창에서 마우스 오른쪽 버튼을 눌러 Compare to another plan을 선택합니다. 단 Display mode가 DBMS_XPLAN일 때는 Compare가 정상적으로 활성화되지 않을 수 있습니다.

  • PLAN 비교하기

왼쪽에는 원본 SQL을 보여주고 오른쪽에는 수정된 SQL을 수행함으로써 PLAN정보를 비교할 수 있고 서로 같은 PLAN인지 다른 PLAN인지 쉽게 확인할 수 있습니다.

  • PLAN 비교하기

PLAN이 일치하면 'Plans match!' PLAN이 다르면 'Plans Differ!' 라는 메시지를 출력합니다. 또한 Display mode를 설정하여 일반적인 Explain Plan 형태로 볼 수도 있고 Text compare 형태로 자세한 정보를 얻을 수도 있습니다.

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

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

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

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

by 이상민 [2014.07.11 10:44:27]

친절한 설명 감사합니다. 


by 김성율 [2014.07.11 15:42:41]

감사합니다 :D


by dnfvm123 [2014.09.19 18:30:02]

강좌 들었던 내용중 가장 깜짝 놀랐던 기능!!

덕분에 이벤트 처리속도가 늦어졌던 쿼리들 몇개 수정했더니

프로그램이 업그레이드 된것 같이 빨라져서 좋습니다!


by 라이크유 [2014.09.25 19:10:32]

PLAN 비교하기 기능은 몰랐던 기능인데.. 잘쓰겠습니다.^^

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