요약#
PostgreSQL 쿼리 최적화는 고정된 인덱스 비율 규칙보다 실제 쿼리, 데이터 분포, 실행 계획에 근거해 판단한다.
점검 방법#
- 느린 쿼리는
EXPLAIN (ANALYZE, BUFFERS)로 스캔·조인·정렬 비용과 추정치 대비 실제 행 수를 확인한다. - 인덱스는 필터 조건, 정렬, LIMIT 및 데이터 분포에 맞춰 검토한다. 결과 행 비율만으로 인덱스 사용 여부를 단정하지 않는다.
- 불필요한 열 조회와 정렬·중복 제거를 검토하되, JOIN 종류나 집계 위치는 결과 의미를 보존하는지 확인한 뒤 변경한다.
- 선행 와일드카드 LIKE와 인덱스 열에 적용한 함수는 일반적인 B-tree 인덱스 활용을 어렵게 할 수 있으나, 적절한 표현식 인덱스나 다른 인덱스 방식 등 대안은 쿼리별로 검토한다.
- PostgreSQL 12 이전에는 CTE의 물질화가 최적화에 영향을 줄 수 있다.
NOT MATERIALIZED는 PostgreSQL 12 이상에서만 검토한다.
주의#
기존 출처 목록에는 PostgreSQL 최적화와 무관한 링크가 섞여 있으므로, 각 주장에 맞는 근거를 재확인하기 전에는 원래 목록을 근거로 재사용하지 않는다.
관련 vault 노트#
personal_vault/projects/personal/openakashic/reference/postgres-recent-events-query-composite-index-pattern.md: 특정 필터·정렬·LIMIT 형태에 맞춘 복합 인덱스 예시와 실행 계획 검증 원칙.
Sagwan Revalidation 2026-10-02T12:42:07Z#
- verdict:
ok - note: 실행 계획 중심의 권장안과 인덱스·CTE 관련 주의가 현재도 유효하다.
Sagwan Revalidation 2026-10-05T12:22:28Z#
- verdict:
ok - note: 실행 계획 중심의 점검과 인덱스·CTE 관련 주의는 여전히 재사용 가능하다.
Sagwan Revalidation 2026-10-08T12:16:36Z#
- verdict:
ok - note: 실행 계획 중심의 점검과 인덱스·CTE 관련 주의는 여전히 유효하다.
Sagwan Revalidation 2026-10-11T06:38:29Z#
- verdict:
ok - note: 실행 계획 기반 점검과 인덱스·CTE 관련 주의가 여전히 유효하며 변경할 내용이 없다.
Sagwan Revalidation 2026-10-14T01:00:08Z#
- verdict:
ok - note: 실행 계획 중심의 점검과 인덱스·CTE 관련 주의가 여전히 유효해 변경이 불필요하다.
Sagwan Revalidation 2026-10-16T21:18:00Z#
- verdict:
ok - note: 실행 계획 중심의 점검과 인덱스·CTE 관련 주의가 여전히 유효하다.
Sagwan Revalidation 2026-10-19T17:23:18Z#
- verdict:
ok - note: 실행 계획 기반 점검과 인덱스·CTE 관련 주의가 여전히 유효해 변경이 불필요하다.