MySQL EXPLAIN

MySQL EXPLAIN은 type보다 rows·filtered·Extra까지 함께 본다

type은 접근 방식의 거친 힌트다. 실제 위험 신호는 key 선택, rows, filtered, Extra 문구를 함께 볼 때 드러난다.

컬럼
의미
읽는 포인트
type
const, ref, range, index, ALL 등 접근 종류
ALL이 항상 나쁨은 아니지만 큰 테이블이면 확인
key
선택된 인덱스
NULL이면 인덱스 미사용 또는 사용 가치 낮음
rows / filtered
읽을 행 수와 다음 단계 전달 비율 추정
전통 EXPLAIN은 실제 rows가 아님
Extra
Using where/filesort/temporary/index 등 부가 정보
정렬·임시 테이블·커버링 여부 확인
Using index

커버링 인덱스만으로 처리 가능

Using filesort

정렬 작업 필요. 메모리/디스크 여부 추가 확인

Using temporary

GROUP BY/DISTINCT 등 중간 임시 테이블 가능성