Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
웹서버/DB

데이터베이스 B-Tree 인덱스 이해하기

인덱스를 걸면 왜 조회가 빨라질까요? 대부분의 DB가 기본으로 쓰는 B-Tree 인덱스 구조의 원리를 정리했습니다.

2026.08.22  ·  26회  · 

인덱스가 없다면

인덱스가 없으면 DB는 원하는 행을 찾기 위해 테이블 전체를 처음부터 끝까지 훑어야 합니다(풀 스캔). 데이터가 많아질수록 이 방식은 선형적으로 느려집니다.

B-Tree란

B-Tree(Balanced Tree)는 데이터를 정렬된 상태로 트리 구조에 저장해, 루트에서 리프 노드까지 몇 단계만 거치면 원하는 값을 찾을 수 있게 하는 자료구조입니다. 트리의 모든 리프 노드가 같은 깊이를 유지하도록 "균형"을 맞추는 것이 핵심입니다.

왜 빠른가

데이터가 100만 건이어도 B-Tree는 로그(log) 시간 복잡도로 동작하기 때문에, 트리 깊이가 몇 단계만 늘어도 훨씬 많은 데이터를 감당할 수 있습니다. 예를 들어 100만 건이 있어도 실제로는 3~4단계만 거치면 원하는 값을 찾을 수 있는 구조입니다.

B-Tree 인덱스가 잘 맞는 경우

  • 등가 비교(=): 특정 값과 정확히 일치하는 행 찾기
  • 범위 검색(<, >, BETWEEN): 정렬된 구조 덕분에 범위 조회에도 효율적
  • 정렬(ORDER BY): 이미 정렬돼 있어 추가 정렬 비용 절감

주의할 점

인덱스를 많이 걸수록 조회는 빨라지지만, INSERT/UPDATE/DELETE 시마다 인덱스도 함께 갱신해야 하므로 쓰기 성능은 떨어집니다. 자주 조회되는 컬럼 위주로 신중하게 걸어야 합니다.

WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원