exclude MergeTree 설정
exclude MergeTree 설정 (exclude_* MergeTree settings)
이 문서는 병합에서 제외할 항목과 관련된 MergeTree 설정들을 다루는 페이지예요. 삭제된 행 제외 및 병합 중 스킵 인덱스 빌드/저장 제외를 설정합니다.
출처: 문서
본문
이 설정들은 system.merge_tree_settings에서 확인할 수 있으며 ClickHouse 소스에서 자동 생성됩니다.
exclude_deleted_rows_for_part_size_in_merge
활성화하면 병합할 파트를 선택할 때 데이터 파트의 추정 실제 크기(즉, DELETE FROM으로 삭제된 행을 제외한 크기)가 사용돼요. 이 동작은 이 설정이 활성화된 후 실행된 DELETE FROM의 영향을 받은 데이터 파트에 대해서만 발생합니다.
가능한 값:
- true
- false
See Also- load_existing_rows_count_for_old_parts setting
exclude_materialize_skip_indexes_on_merge
제공된 쉼표로 구분된 스킵 인덱스 목록을 병합 중에 빌드·저장되지 않도록 제외해요. materialize_skip_indexes_on_merge가 false이면 효과가 없습니다. 제외된 스킵 인덱스는 MATERIALIZE INDEX 쿼리로 명시적으로, 또는 materialize_skip_indexes_on_insert 세션 설정에 따라 INSERT 중에 여전히 빌드·저장됩니다. Example:
CREATE TABLE tab
(
a UInt64,
b UInt64,
INDEX idx_a a TYPE minmax,
INDEX idx_b b TYPE set(3)
)
ENGINE = MergeTree ORDER BY tuple() SETTINGS exclude_materialize_skip_indexes_on_merge = 'idx_a';
INSERT INTO tab SELECT number, number / 50 FROM numbers(100); -- setting has no effect on INSERTs
-- idx_a will be excluded from update during background or explicit merge via OPTIMIZE TABLE FINAL
-- can exclude multiple indexes by providing a list
ALTER TABLE tab MODIFY SETTING exclude_materialize_skip_indexes_on_merge = 'idx_a, idx_b';
-- default setting, no indexes excluded from being updated during merge
ALTER TABLE tab MODIFY SETTING exclude_materialize_skip_indexes_on_merge = '';