오라클 데이터베이스는 쿼리를 처리할 때 SQL PLAN이라는 것을 작성하고 수행합니다. PLAN이란 어떤 정보를 어떻게 액세스 할지, 어떤 인덱스를 사용할지, 어떤 순서에 의해 어떻게 조인을 할지에 대한 실행 계획입니다.
이는 쿼리의 성능에 영향을 미치며 나아가서는 데이터베이스 전체 성능에 중요한 요인이므로 PLAN 정보를 확인하는 것은 매우 중요한 일입니다.
SQL PLAN을 확인하는 방법은 Menu > Editor > Explain Plan Current SQL 을 선택하거나 Ctrl + E 단축키를 사용합니다.
Toad 사용자는 Toad에서 실행한 SQL PLAN을 별도로 PLAN 테이블로 관리할 수 있습니다. Toad에서 PLAN을 처음 조회할 때 다음과 같은 PLAN_TABLE 생성에 대한 팝업이 보입니다.
기존에 사용했던 PLAN_TABLE이 있다면 Search For Plan Table 버튼을 눌러서 검색할 수 있습니다. 새로 PLAN TABLE을 생성하려면 Plan Table을 생성할 Schema를 Plan Table Schema에 입력하고 OK버튼을 눌러서 생성합니다.
위 쿼리에 대한 실행 결과를 확인할 수 있습니다.
Toad에서는 Explain Plan창에서 마우스 오른쪽 버튼을 눌러 Display Mode를 바꿀 수 있습니다.
쿼리가 달라지면 SQL PLAN정보는 바뀔 수 있습니다. Toad에서는 쿼리를 수정함에 따라 PLAN이 어떻게 변하는지 원본과 비교할 수 있습니다.
Explain Plan 창에서 마우스 오른쪽 버튼을 눌러 Compare to another plan을 선택합니다. 단 Display mode가 DBMS_XPLAN일 때는 Compare가 정상적으로 활성화되지 않을 수 있습니다.
왼쪽에는 원본 SQL을 보여주고 오른쪽에는 수정된 SQL을 수행함으로써 PLAN정보를 비교할 수 있고 서로 같은 PLAN인지 다른 PLAN인지 쉽게 확인할 수 있습니다.
PLAN이 일치하면 'Plans match!' PLAN이 다르면 'Plans Differ!' 라는 메시지를 출력합니다. 또한 Display mode를 설정하여 일반적인 Explain Plan 형태로 볼 수도 있고 Text compare 형태로 자세한 정보를 얻을 수도 있습니다.
- 강좌 URL : http://www.gurubee.net/lecture/2722
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.