← 목록으로

PostgreSQL JSONB: JSON 데이터 조회, 수정 및 인덱싱

요약
  • 이 글은 PostgreSQL의 JSONB 데이터를 활용해 중첩 값 조회, 조건 검색, 특정 값 수정하는 방법을 실제 예제로 설명합니다.
  • 또한 4만여 개의 레코드를 통한 GIN 인덱스 성능 테스트 결과와 JSONB 데이터 설계 기준을 함께 다룹니다.

PostgreSQL의 JSONB 데이터를 실제로 다룰 때 필요한 과정을 하나의 지원 티켓 예제로 정리했습니다.

중첩된 값을 조회하는 ->와 ->>의 차이, @>를 이용한 포함 검색, jsonb_set()으로 문서 전체를 교체하지 않고 특정 값만 수정하는 방법을 다룹니다.

40,004개의 레코드로 GIN 인덱스를 테스트하고, EXPLAIN에서 순차 스캔 대신 Bitmap Index Scan이 사용되는 것도 확인했습니다. JSONB에 넣기 좋은 데이터와 일반 컬럼으로 유지해야 할 데이터의 차이도 함께 설명했습니다.

그냥 목록으로
원문 보기 ↗