Covering Index

읽기 lookup을 줄이지만 인덱스 크기와 쓰기 비용이 늘어난다

목록 API가 필요한 컬럼을 인덱스에 포함하면 테이블 접근을 줄일 수 있다.

INDEX (user_id, order_date DESC) INCLUDE / key columns (total, status)
쿼리 요구
user_id 필터 + 최신순 + total/status 반환

필터/정렬/반환 컬럼이 인덱스 안에 있으면 lookup이 줄어든다.

이득
목록 API 지연 감소

반복 lookup 없이 인덱스에서 바로 읽을 수 있다.

DBMS 확인
Using index / Index Only Scan

PostgreSQL은 Heap Fetches까지 함께 봐야 한다.

비용
큰 컬럼 포함 금지

인덱스가 커지고 INSERT/UPDATE/DELETE 비용이 늘어난다.