실행/파싱고급Oracle 전용
Execution Plan (실행계획)
옵티마이저가 SQL을 어떻게 실행할지 결정한 단계별 계획
정의
옵티마이저(CBO)가 통계 정보를 기반으로 결정한 SQL 처리 절차. 어떤 테이블 접근 방식(Full Scan, Index Range Scan 등), 어떤 조인 방식(NL/Hash/Sort Merge), 어떤 순서로 처리할지가 모두 담긴다. EXPLAIN PLAN 또는 DBMS_XPLAN.DISPLAY_CURSOR로 확인한다. 통계가 부정확하면 옵티마이저가 잘못된 계획을 선택할 수 있다.
왜 중요한가?
틀리기 쉬운 포인트
- !EXPLAIN PLAN과 실제 실행계획은 다를 수 있습니다(바인드 피킹, 통계 변화).
- !실제 운영 SQL은 DISPLAY_CURSOR로 봐야 정확.
- !Cost는 절대 비용이 아닌 상대 추정치입니다.
예시
EXPLAIN PLAN FOR SELECT * FROM employees WHERE dept_id = 10; SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
성능 포인트
!EXPLAIN PLAN과 실제 실행계획은 다를 수 있다. 운영 SQL은 DBMS_XPLAN.DISPLAY_CURSOR로 봐야 정확.