실행계획을 수집하자. |
옵티마이저는 사용자가 요청한 SQL을 가장 효율적이고 빠르게 수행할 수 있는 최적(최저비용)의 처리경로를 생성하고,
이 처리경로(프로시져)를 실행계획이라고 한다.
같은 SQL이라도 당시 옵티마이저의 판단에 따라 서로다른 실행계획을 가질 수 있으며,
쿼리의 성능은 이 실행계획에 좌우된다고 할 수 있다.
실행계획을 수집하여 자세히 분석하면
옵티마이저가 어느 부분에서 착각하여 비효율을 발생시켰는지 알아낼 수 있고,
이를 바탕으로 성능개선을 위한 방법을 생각할 수 있다.
Execution Plan 활성화하기 |
실행계획을 수집하기 위해서는 실행계획이 저장될 테이블이 필요하다.
오라클은 이러한 테이블을 생성하는 스크립트를 이미 준비해 놓았으며,
DB가 설치된 폴더에서 utlxplan.sql를 검색하면 쉽게 찾을 수 있다.
SYSDBA 유저로 로그인한 후 utlxplan.sql의 스크립트를 실행하면
실행계획을 수집하기 위한 모든 준비는 끝났다.
Auto Trace 유틸리티로 실행계획 확인하기 |
|
[STEP 01] 실행계획을 확인할 쿼리문 맨 앞에, set autotrace on; 명령어를 삽입한다. |
|
[STEP 02] 쿼리를 실행하면 실행계획이 출력된다. |
explain for 명령어로 실행계획 확인하기 |