GIN은 PostgreSQL의 Generalized Inverted Index로, 하나의 값 안에 들어 있는 구성 요소를 검색하는 데 사용하는 인덱스 방식이다.
원리
키와 그 키가 나타나는 행의 목록을 연결한다. 자료형별 연산자 클래스가 값에서 키를 추출하고 질의 조건을 판정하는 방법을 정의한다.
예시
문서에 특정 단어가 포함됐는지, 배열이 특정 값을 포함하는지, JSONB가 지원되는 조건에 맞는지 검색할 때 활용할 수 있다.
SQL |
|---|
SQL SELECT · SQL JOIN · SQL GROUP BY · SQL HAVING · SQL 공통 테이블 식 |
주의할 점
지원 연산자는 연산자 클래스에 따라 다르다. 모든 JSON 질의를 자동으로 빠르게 만들지 않으며 쓰기 부담과 대기 목록 관리 같은 운영 특성도 고려해야 한다.