BRIN은 PostgreSQL에서 인접한 테이블 블록 범위의 요약 정보를 저장하는 인덱스 방식이다.
원리
각 범위의 최솟값·최댓값 같은 요약으로 조건에 맞을 가능성이 없는 범위를 제외한다. 후보 범위 안의 실제 행은 다시 검사하므로 손실성 접근 방식이다.
예시
시각 순서대로 쌓인 대용량 로그에서 날짜 조건을 조회할 때 물리적 배치와 값의 상관관계를 활용해 읽을 범위를 줄일 수 있다.
SQL |
|---|
SQL SELECT · SQL JOIN · SQL GROUP BY · SQL HAVING · SQL 공통 테이블 식 |
주의할 점
값이 물리적으로 뒤섞이면 제외할 범위가 줄어든다. 범위 크기가 작을수록 요약은 정밀해지지만 인덱스가 커지므로 자료 배치와 질의에 맞추어 평가한다.