EXPLAIN 판독 기준

type → key → rows → Extra를 함께 보면 인덱스 접근인지 전체 스캔인지 바로 구분할 수 있습니다.

좋은 계획은 적게 읽고 바로 끝나며, 나쁜 계획은 많이 읽고 정렬·임시 작업까지 추가됩니다.

1. 접근 방식
2. 인덱스 사용
3. 읽는 행 수
4. 추가 작업
확인 포인트
좋은 실행 계획
나쁜 실행 계획
접근 방식
const · ref · range 인덱스를 타고 필요한 키나 범위만 읽습니다.
ALL Full Table Scan으로 테이블 전체를 훑습니다.
인덱스 사용
key에 인덱스 이름 표시 어떤 인덱스를 선택했는지 바로 확인할 수 있습니다.
key = NULL 사용 가능한 인덱스를 못 탔거나 활용하지 못한 상태입니다.
읽는 양
rows가 적음 필요한 행만 접근하므로 비용이 낮아집니다.
rows가 큼 테이블 전체 행 수에 가까워질수록 부담이 커집니다.
추가 작업
Using index 인덱스만 읽고 끝나는 Covering Index 신호입니다.
Using filesort / Using temporary 정렬이나 임시 테이블이 더해져 실행 비용이 올라갑니다.
핵심 해석: 좋은 계획은 인덱스를 타고 적게 읽는다는 공통점이 있고, 나쁜 계획은 ALL + key NULL + 많은 rows 조합으로 드러납니다.