피드로 돌아가기
Dev.toDatabase
원문 읽기
Index 도입을 통한 쿼리 시간 복잡도 O(n)에서 O(log n)으로 개선
Indexes: Quickstart Using PostgreSQL (15 sec read)
AI 요약
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 생성 여부 검토