메인 콘텐츠로 건너뛰기

문제

a['key']와 같은 맵 조회는 선형 복잡도로 동작하며(여기에서 언급함), 비효율적일 수 있습니다. 이는 테이블에서 특정 키의 값을 선택하려면 맵 컬럼의 모든 행(N)에 있는 모든 키(~M)를 순회해야 하므로, 결과적으로 약 ~MxN회의 조회가 필요하기 때문입니다. 맵을 사용한 조회는 String 컬럼보다 최대 10배 느릴 수 있습니다. 아래 실험에서도 콜드 쿼리에서 약 10배의 성능 저하와 처리된 데이터 양의 큰 차이(7.21 MB 대 5.65 GB)를 확인할 수 있습니다.
해결 방법 쿼리를 개선하려면 맵 컬럼의 특정 키 값을 기본값으로 사용하는 컬럼을 하나 더 추가한 다음, 이를 구체화하여 기존 행의 값을 채울 수 있습니다. 이렇게 하면 필요한 값을 삽입 시점에 추출해 저장하므로, 쿼리 시점의 조회 속도를 높일 수 있습니다.
마지막 수정일 2026년 7월 2일