$백엔드 개발자 Rueun의 기술 블로그|Java · Spring · 클린 아키텍처🌱
#Development

MySQL 인덱스 원리와 쿼리 최적화

@2026-02-10·2 min read

인덱스란?

인덱스는 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조입니다. B-Tree 기반으로 동작합니다.

인덱스 종류

클러스터형 인덱스

Primary Key에 자동 생성되며, 데이터가 물리적으로 정렬됩니다.

보조 인덱스

SQL
CREATE INDEX idx_member_name ON members(name);
CREATE INDEX idx_member_name_age ON members(name, age);

실행 계획 분석

SQL
EXPLAIN SELECT * FROM members WHERE name = '홍길동';
type설명
constPK 또는 Unique로 1건 조회
ref인덱스를 통한 동등 비교
range인덱스 범위 스캔
ALL풀 테이블 스캔

커버링 인덱스

SQL
-- 인덱스만으로 쿼리를 처리 (Extra: Using index)
SELECT name FROM members WHERE name = '홍길동';

정리

적절한 인덱스 설계와 실행 계획 분석은 데이터베이스 성능의 핵심입니다.

§ 목차