다중 컬럼 인덱스
다중 컬럼 인덱스 (Multicolumn Indexes)
여러분, 오늘은 PostgreSQL에서 두 개 이상의 컬럼을 함께 묶어 인덱스를 만드는 방법을 살펴볼게요. 단일 컬럼 인덱스만으로는 쿼리 성능이 부족할 때, 다중 컬럼 인덱스가 어떻게 동작하는지 이해하면 효율적인 인덱스 설계에 큰 도움이 됩니다. 이번 섹션에서는 B-tree, GiST, GIN, BRIN 인덱스 유형별 특징과 주의사항까지 차근차근 설명드릴게요.
출처: 공식문서
기본 개념: 두 개 이상의 컬럼에 인덱스 정의하기
인덱스는 테이블의 여러 컬럼에 걸쳐 정의할 수 있어요. 예를 들어, 다음과 같은 테이블이 있다고 해볼게요.
CREATE TABLE test2 (
major int,
minor int,
name varchar
);
(예를 들어, 여러분의 /dev 디렉터리를 데이터베이스에 보관하고 있다고 상상해 보세요.) 그리고 다음과 같은 쿼리를 자주 실행한다면:
SELECT name FROM test2 WHERE major = constant AND minor = constant;
이때 major와 minor 컬럼을 함께 묶어 인덱스를 정의하는 것이 적절할 수 있어요.
CREATE INDEX test2_mm_idx ON test2 (major, minor);
지원되는 인덱스 유형
현재 다