Index란?

특정 컬럼의 조회 속도를 위해 별도 자료구조로 유지하는 사전 같은 것이다. 책 뒤의 "찾아보기"와 같다.

종류

  • B-Tree — 범위·정렬 조회에 강함 (가장 보편)
  • Hash — 등치 조회만 빠름
  • GIN / GiST — 배열·JSON·전문 검색 (Postgres)
  • BRIN — 대용량 시계열 데이터에 효율적

주의

  • 쓰기 성능 저하 (INSERT/UPDATE 시 인덱스도 갱신)
  • 선택성 낮은 컬럼은 Seq Scan이 오히려 빠름
  • 복합 인덱스 순서가 중요 (왼쪽 컬럼 기준 매칭)