TUTORIAL

데이터베이스 인덱스 최적화 완벽 가이드

B-Tree, Hash, Composite 인덱스의 원리와 활용법. EXPLAIN 분석으로 쿼리 성능을 500배 향상시키는 방법을 배웁니다.

럿지 AI 팀
2025-01-06
15
인덱스가 왜 중요한가?

인덱스 없음

5초

Full Table Scan

인덱스 적용

Index Seek

인덱스 종류

B-Tree

기본 인덱스, 범위 검색 가능

Hash

정확 일치만, 더 빠름

Composite

여러 컬럼 조합

Covering

테이블 접근 없이 응답

인덱스 생성

단일 인덱스

CREATE INDEX idx_email ON users(email);

복합 인덱스

CREATE INDEX idx_user_date
  ON orders(user_id, created_at);

UNIQUE 인덱스

CREATE UNIQUE INDEX idx_unique_email
  ON users(email);

인덱스 대상 선정

WHERE 절에 자주 사용되는 컬럼
JOIN 조건에 사용되는 컬럼
ORDER BY에 사용되는 컬럼
자주 변경되는 컬럼은 피하기
카디널리티 낮은 컬럼 피하기

EXPLAIN 분석

EXPLAIN SELECT * FROM orders WHERE user_id = 1;
-- type: ref (인덱스 사용)
-- possible_keys: idx_user_id
-- key: idx_user_id

관련 태그

#인덱스
#Database
#SQL
#Performance
#Optimization