DBMS
계획만 확인
실행 후 검증
실무에서 특히 보는 점
Oracle
예상 계획과 실제 행수 차이를 추적하기 좋다.
계획만 보기
EXPLAIN PLAN
DBMS_XPLAN.DISPLAY
실행 후 검증
AUTOTRACE
DBMS_XPLAN.DISPLAY_CURSOR
Rows 예측과 실제 실행 행수가 크게 다르면 통계 정보나 데이터 분포를 의심한다.
MySQL
계획 표현 형식을 바꿔 구조를 읽기 쉽다.
계획만 보기
EXPLAIN
EXPLAIN FORMAT=JSON
EXPLAIN FORMAT=TREE
TREE/JSON은 조인 순서와 접근 방식을 읽기 좋고, ANALYZE는 실제 실행 시간까지 확인한다.
PostgreSQL
시간과 버퍼 사용량을 함께 읽기 편하다.
실행 후 검증
EXPLAIN ANALYZE
EXPLAIN (ANALYZE, BUFFERS)
실행 시간만이 아니라 버퍼 접근량까지 보면 CPU 병목인지 I/O 병목인지 판단이 빨라진다.
SQL Server
추정 계획과 실제 계획을 세션/도구에서 함께 확인한다.
계획만 보기
SET SHOWPLAN_ALL ON
실행 후 검증
SET STATISTICS PROFILE ON
Actual Execution Plan
추정 계획만 보면 누락되는 실제 실행 경로를 SSMS 실제 계획과 함께 비교해 본다.