explain과 실행 계획
2026년 8월 28일
explain과 실행 계획
- 실행 계획(execution plan)은 DB 옵티마이저가 이 쿼리를 어떻게 처리할지 정한 결과다.
- 쿼리는 선언형이라 "어떻게"를 내가 안 쓴다. 그래서 실제로 어떻게 처리됐는지는 explain으로만 알 수 있다.
JavaScript
읽는 곳은 두 군데
1) winningPlan.stage
| 값 | 뜻 |
|---|---|
IXSCAN | 인덱스(Index)를 탔다 |
COLLSCAN | 풀 스캔(Full Scan)이다 |
FETCH | 인덱스로 찾은 뒤 실제 문서를 읽었다 |
PROJECTION_COVERED | 문서를 안 읽고 인덱스만으로 끝났다 (최상, projection 참고) |
2) executionStats의 두 숫자
TEXT
이 둘이 비슷할수록 좋은 쿼리다. 10건 돌려주려고 10,000건을 봤다면 인덱스가 없거나 잘못 걸린 것이다.
실무 절차
Mermaid스크롤로 확대 · 드래그로 이동
한 줄 정리
explain은 내가 쓴 선언이 실제로 어떻게 실행됐는지 보는 창이고, COLLSCAN과 examined ≫ returned가 두 개의 경보다.