EXPLAIN이란?
SQL을 실제 실행하기 전(또는 실행하며) DB가 어떤 순서·어떤 방법으로 처리할지 보여주는 명령이다.
핵심 비교
EXPLAIN— 계획만 (실행 안 함)EXPLAIN ANALYZE— 실제 실행 + 실 소요 시간EXPLAIN (BUFFERS)— I/O 상세 (Postgres)
주목 지표
- Seq Scan — 전체 스캔 (작은 테이블엔 OK, 큰 건 문제)
- Index Scan — 인덱스 사용
- Nested Loop / Hash Join — 조인 전략
- Rows / Buffers — 처리량·I/O
시각화
pev2(Postgres), explain.depesz.com 같은 웹 도구로 분석하면 쉬움.