반응형
EXPLAIN 실행 계획 항목 정리표
항목의미주요 값설명
id | 실행 단계 | 숫자 (1, 2, 3...) | JOIN이 포함된 쿼리에서 실행 순서를 나타냄. 작은 숫자가 먼저 실행됨. |
select_type | 쿼리 유형 | SIMPLE, PRIMARY, SUBQUERY, DERIVED, UNION 등 | 쿼리의 구조(기본, 서브쿼리, 유니온 등)를 나타냄. |
table | 참조하는 테이블 | 테이블명 | 현재 실행 계획에서 사용되는 테이블 이름을 나타냄. |
partitions | 사용된 파티션 | 파티션명 또는 NULL | 테이블이 파티셔닝되어 있을 경우, 사용된 파티션을 표시함. |
type | 조회 방식 (성능 중요!) | ALL, index, range, ref, eq_ref, const, system 등 | 테이블을 검색하는 방식. ALL은 풀 테이블 스캔(느림), const는 즉시 검색(빠름) |
possible_keys | 사용 가능한 인덱스 | 인덱스명 또는 NULL | 해당 쿼리에서 사용할 수 있는 인덱스를 보여줌. |
key | 실제 사용된 인덱스 | 인덱스명 또는 NULL | MySQL이 실제로 선택한 인덱스를 나타냄. NULL이면 인덱스 미사용. |
key_len | 사용된 인덱스 길이 (바이트) | 숫자 | 인덱스에서 몇 개의 바이트를 활용했는지 표시. 길이가 클수록 더 많은 정보 사용. |
ref | 인덱스와 비교된 값 | 컬럼명 또는 const, NULL | 인덱스에서 참조된 컬럼이나 상수를 나타냄. const이면 기본 키 조회. |
rows | 예상 조회 건수 | 숫자 | MySQL이 예상하는 검색해야 할 행(row)의 수. |
filtered | 조건을 만족하는 비율 (%) | 0 ~ 100 | WHERE 조건을 만족하는 행의 비율을 퍼센트(%)로 나타냄. |
Extra | 추가 실행 정보 | "Using index", "Using where", "Using filesort", "Using temporary" 등 | 최적화 여부, 추가적인 연산 필요 여부 등을 표시. |
type (조회 방식) 비교표
type 값의미성능
system | 테이블에 1개의 행만 있는 경우 | ✅ 가장 빠름 |
const | 기본 키(PK)나 유니크 인덱스로 특정 행 1개 조회 | ✅ 빠름 |
eq_ref | 조인에서 PK 또는 유니크 키로 1개 행 검색 | ✅ 빠름 |
ref | 인덱스가 걸린 컬럼을 비교(일반 인덱스 사용) | 🟡 중간 |
range | BETWEEN, <, >, IN() 범위 검색 (B-Tree 인덱스 활용) | 🟢 좋음 |
index | 테이블 전체를 스캔하지만 인덱스 순서대로 조회 | 🔴 보통 |
ALL | 풀 테이블 스캔 (가장 느림) | 🚨 매우 느림 |
Extra (추가 실행 정보) 비교표
Extra 값의미성능 영향
"Using index" | 커버링 인덱스 사용 (테이블 접근 불필요) | ✅ 최적화됨 |
"Using where" | WHERE 조건이 있지만, 인덱스가 완전히 최적화되지 않음 | 🟡 필터링 필요 |
"Using index condition" | 인덱스를 일부 활용하지만 테이블 데이터도 읽어야 함 | 🟡 조건 검사 필요 |
"Using filesort" | ORDER BY가 인덱스를 사용하지 못해 추가 정렬 필요 | 🚨 느림 |
"Using temporary" | 임시 테이블을 사용하여 정렬, 그룹화 수행 | 🚨 느림 |
"Using join buffer" | 조인 버퍼를 사용하여 최적화되지 않은 조인 실행 | 🚨 비효율적 |
반응형
'DB' 카테고리의 다른 글
MySQL 8.0 'Access denied' 오류 해결법 — 인증 방식 변경 [우분투,mySQL8.0] (0) | 2025.04.02 |
---|---|
[DB MySQL] 옵티마이저(Optimizer)란? INDEX EXPLAIN 실행 (0) | 2025.03.20 |
[DB] Disk I/O란? (0) | 2025.03.20 |
복합 인덱스(Composite Index)와 B-Tree 원리 분석 - 1억 개 이상의 데이터 빠르게 조회하기 (0) | 2025.03.18 |
[ Database ] ER 다이어그램 / ERD 기호 및 표기법 (1) | 2023.03.14 |