CS 정리

커버링 인덱스(Covering Index)란?

문쿼리 2025. 6. 26. 00:11

모든 컬럼이 인덱스 안에 포함되어 있어서, 테이블을 따로 읽지 않아도 되는 인덱스

 

Explain 시 Using index 또는 Index Only Scan 표시됨

 

장점

  • 속도 향상: 테이블 접근(IO) 생략 → 더 빠른 처리
  • 랜덤 I/O 감소: 특히 하드디스크 환경에서 효과적
  • 실행 계획 최적화: 불필요한 테이블 조회 줄임

 

주의 상황(느려지는 경우)

  • 인덱스 컬럼이 너무 많을 때, B-Tree 탐색 비용 증가
  • 선두 컬럼을 건너띄는 조건절일 때, 인덱스 효율 감소
  • 조회 row 수가 너무 많을 때, 풀스캔 보다 느림

 

접근 전략

  • 자주 쓰는 조회 쿼리에만 적용 (모든 쿼리 남발하지 말 것)
  • 인덱스 크기 고려 (너무 많은 컬럼을 포함하지 말 것)
  • EXPLAIN으로 실행 계획 확인 (실제 효용성 확인 할 것)
  • 조건 컬럼 순서 고려 (복합 인덱스의 효율을 중요시 할 것)