Oracle 실행 계획

예상 계획과 실제 실행 통계를 나눠 확인한다

EXPLAIN PLAN은 예상 경로이고, ALLSTATS LAST는 실제 실행 후 행 수 차이를 보여준다. 둘을 비교해야 튜닝 방향이 보인다.

1
예상 계획 생성

EXPLAIN PLAN FOR로 옵티마이저가 고른 경로를 저장한다.

2
예상 계획 조회

DBMS_XPLAN.DISPLAY에서 Operation, Access, E-Rows를 확인한다.

3
실제 실행 통계

GATHER_PLAN_STATISTICS로 실행 후 A-Rows를 남긴다.

4
차이 비교

E-Rows와 A-Rows가 크게 다르면 통계나 인덱스 후보를 다시 본다.

확인 위치
읽는 값
판단
Operation / Access
INDEX RANGE SCAN, TABLE ACCESS 등
인덱스를 탔는지와 테이블 접근이 남는지 확인
E-Rows ↔ A-Rows
예상 행 수와 실제 행 수
차이가 크면 통계 갱신, 힌트보다 설계 재검토
Buffers / Time
읽은 블록과 실행 시간
실제 병목이 lookup인지 sort인지 분리