Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

exclude_* MergeTree table settings

These settings are available in system.merge_tree_settings and are autogenerated from ClickHouse source.

exclude_deleted_rows_for_part_size_in_merge

Type
Bool
Default
0

If enabled, estimated actual size of data parts (i.e., excluding those rows that have been deleted through DELETE FROM) will be used when selecting parts to merge. Note that this behavior is only triggered for data parts affected by DELETE FROM executed after this setting is enabled.

Possible values:

  • true
  • false

See Also

exclude_materialize_skip_indexes_on_merge

Version history
VersionDefault valueComment
25.10New setting.

Excludes provided comma delimited list of skip indexes from being built and stored during merges. Has no effect if materialize_skip_indexes_on_merge is false.

The excluded skip indexes will still be built and stored by an explicit MATERIALIZE INDEX query or during INSERTs depending on the materialize_skip_indexes_on_insert session setting.

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 = '';
Navigation