피드로 돌아가기
Indexes: Quickstart Using PostgreSQL (15 sec read)
Dev.toDev.to
Database

Index 도입을 통한 쿼리 시간 복잡도 O(n)에서 O(log n)으로 개선

Indexes: Quickstart Using PostgreSQL (15 sec read)

EffessDev2026년 6월 12일1beginner

Context

전체 레코드를 순차적으로 탐색하는 Full Table Scan 방식으로 인한 검색 성능 저하 발생. 데이터 규모 증가에 따라 조회 시간이 선형적으로 증가하는 구조적 한계 직면.

Technical Solution

  • 특정 컬럼 기반의 B-Tree 구조 Index 생성을 통한 탐색 경로 최적화
  • Sequential Scan 방식에서 Index Scan 방식으로의 실행 계획 전환
  • 데이터 정렬 상태를 활용한 이진 탐색 기반의 레코드 위치 식별
  • CREATE INDEX 구문을 통한 물리적 인덱스 저장소 구축 및 쿼리 최적화 도구 활용

Impact

조회 성능의 시간 복잡도를 O(n)에서 O(log n)으로 단축.

Key Takeaway

데이터 읽기 빈도가 높은 컬럼에 Index를 설정하여 전체 탐색 비용을 로그 시간 복잡도로 제어하는 설계 원칙.


WHERE 절에 빈번하게 사용되는 필드의 카디널리티를 확인하고 적절한 Index 생성 여부 검토

원문 읽기