JOIN 관련 enable 설정

JOIN 관련 enable 설정

ClickHouse의 조인 처리 방식을 제어하는 enable_join* 설정들을 소개해요. 해시 테이블 변환, 조인 키 전용 해시 테이블, 런타임 필터, 전이적 술어 추론 등을 켜고 끄는 데 사용된답니다. 이 설정들은 system.settings 테이블에서 확인할 수 있고 소스 코드에서 자동 생성된 값들이에요.

출처: 문서

본문

이 설정들은 system.settings에서 확인할 수 있고, 소스 코드에서 자동 생성된 값들이에요.

enable_join_fixed_hash_table_conversion

키가 값 범위가 작은 단일 정수일 때 조인을 위해 해시 테이블을 플랫 배열로 변환하는 것을 활성화해요.

enable_join_key_only_hash_tables

결과가 오른쪽 행에서 가져온 값을 절대 포함할 수 없는 조인에 대해, 오른쪽 행에 대한 참조 없이 조인 키만 저장하는 해시 테이블을 사용해요. 여기에는 LEFT ANTI와, 오른쪽 컬럼이 선택되지 않은 LEFT SEMI가 포함돼요. 이런 테이블은 더 작은 셀을 가지며 오른쪽 블록을 저장하는 대신 버릴 수 있게 해줘요.

enable_join_runtime_filters

런타임에 오른쪽에서 수집한 JOIN 키 집합으로 왼쪽을 필터링해요.

enable_join_runtime_filters_index_analysis

조인의 LHS에서 그라뉼을 제거하기 위해 두 번째 패스 인덱스 분석(use_skip_indexes_on_data_read 통해)을 실행해요.

enable_join_transitive_predicates

기존 조인 조건에서 전이적 동등-조인 술어를 추론해요.

예를 들어 A.x = B.x와 B.x = C.x가 주어지면, 조인 순서 옵티마이저가 직접 (A JOIN C) 계획을 고려할 수 있도록 합성 A.x = C.x 술어가 추가된답니다.

더 알아보기 (Learn more)