병렬 처리 관련 enable 설정
병렬 처리 관련 enable 설정
분산 쿼리의 병렬 처리 방식을 제어하는 설정들을 소개해요. 블록 직렬화/압축을 파이프라인 스레드에서 수행하거나, 집계 해시 테이블의 최종 병합을 병렬화하는 등의 동작을 다룬답니다. 이 설정들은 system.settings 테이블에서 확인할 수 있고 소스 코드에서 자동 생성된 값들이에요.
출처: 문서
본문
이 설정들은 system.settings에서 확인할 수 있고, 소스 코드에서 자동 생성된 값들이에요.
enable_parallel_blocks_marshalling
분산 쿼리에만 영향을 줘요. 활성화하면 블록이 initiator로 보내지기 전/후에 파이프라인 스레드에서 (역)직렬화되고 (역)압축돼요(즉 기본값보다 더 높은 병렬성으로 처리됨).
enable_parallel_single_level_merge
스레드별 단일 레벨 집계 해시 테이블의 최종 병합을 병렬화해요. 키 공간은 키 해시에 따라 서로 겹치지 않는 파티션으로 나뉘고, 각 파티션은 독립적으로 병합돼요. 병합 스레드는 모든 스레드별 테이블을 순회하며 자신의 파티션에 속한 키만 결합하므로 두 스레드가 같은 키를 만지지 않아요. 이 설정을 끄면 단일 레벨 테이블이 한 스레드에서 직렬로 병합돼요. 8비트와 16비트 키로 하는 집계는 이 설정과 무관하게 자체 범위 분할 병렬 병합을 유지해요.