메인 콘텐츠로 건너뛰기

딕셔너리 레이아웃 유형

딕셔너리를 메모리에 저장하는 방식은 여러 가지가 있으며, 각 방식마다 CPU와 RAM 사용량 사이에 절충이 있습니다.
권장 레이아웃flat, hashed, complex_key_hashed는 가장 우수한 쿼리 성능을 제공합니다. 캐싱 레이아웃은 성능이 떨어질 가능성이 있고 매개변수 튜닝도 어렵기 때문에 권장하지 않습니다. 자세한 내용은 cache를 참조하십시오.

딕셔너리 레이아웃 지정

ClickHouse Cloud에서 딕셔리를 사용하는 경우, 딕셔너리를 만들 때는 DDL query 옵션을 사용하고 사용자 default로 생성하십시오. 또한 Cloud Compatibility 가이드에서 지원되는 딕셔너리 소스 목록도 확인하십시오.
LAYOUT 절(DDL) 또는 설정 파일 정의의 layout 설정을 사용해 딕셔너리 레이아웃을 구성할 수 있습니다.

전체 DDL 구문은 CREATE DICTIONARY를 참고하십시오. 레이아웃에 complex-key*라는 단어가 없는 딕셔너리는 UInt64 타입의 키를 사용하고, complex-key* 딕셔너리는 복합 키(임의의 타입으로 구성 가능)를 사용합니다. 숫자 키 예시 (key_column 컬럼은 UInt64 타입):

복합 키 예시 (키는 String 타입 요소 1개로 구성됨):

딕셔너리 성능 개선

딕셔너리 성능을 개선하는 방법은 여러 가지가 있습니다.
  • GROUP BY 뒤에서 딕셔너리 작업 함수를 호출합니다.
  • 추출할 속성을 injective로 표시합니다. 서로 다른 키가 서로 다른 속성 값에 대응할 때 해당 속성을 injective라고 합니다. 따라서 GROUP BY에서 키로 속성 값을 가져오는 함수를 사용하면, 이 함수는 자동으로 GROUP BY 밖으로 분리됩니다.
ClickHouse는 딕셔너리 관련 오류가 발생하면 예외를 생성합니다. 오류 예시는 다음과 같습니다.
  • 접근하는 딕셔너리를 로드할 수 없습니다.
  • cached 딕셔너리를 쿼리하는 중 오류가 발생했습니다.
system.dictionaries 테이블에서 딕셔너리 목록과 상태를 확인할 수 있습니다.
마지막 수정일 2026년 7월 2일