PostgreSQL 파티션 프루닝: 파티션 키가 아닌 컬럼으로도 가능한 비밀

How to Achieve Pruning When Querying by Non-Partitioned Columns in PostgreSQL

PostgreSQL 파티션 프루닝: 파티션 키가 아닌 컬럼으로도 가능한 비밀

파티션 테이블의 핵심 장점인 프루닝은 일반적으로 파티션 키로만 가능하다고 알려져 있습니다. 그러나 데이터 패턴이 특정 조건을 만족하면, 파티션 키가 아닌 컬럼으로도 프루닝을 달성할 수 있습니다. 이 글에서는 세션 ID가 시간과 강하게 상관관계를 가지는 이벤트 로그 테이블을 예로 들어, 각 파티션에 CHECK 제약 조건을 추가하여 옵티마이저가 파티션을 제거하도록 하는 방법을 설명합니다. 로컬 인덱스의 한계와 글로벌 인덱스의 부재를 극복하는 실용적인 트릭을 소개합니다.

체크 제약 조건은 데이터에 대한 정보를 옵티마이저에게 전달하는 데 사용될 수 있다는 것이 아무도 말해주지 않는 비밀입니다.

이 날의 다른 글

2026-07-12