These settings are available in system.merge_tree_settings and are autogenerated from ClickHouse source.
write_final_mark
Obsolete setting, does nothing.
write_marks_for_substreams_in_compact_parts
Version history
| Version | Default value | Comment |
|---|---|---|
| 25.8 | 1 | Enable writing marks for substreams in compact parts by default |
| 25.5 | 0 | New setting |
Enables writing marks per each substream instead of per each column in Compact parts. It allows to read individual subcolumns from the data part efficiently.
For example, column t Tuple(a String, b UInt32, c Array(Nullable(UInt32))) is serialized in the next substreams:
t.afor String data of tuple elementat.bfor UInt32 data of tuple elementbt.c.size0for array sizes of tuple elementct.c.nullfor null map of nested array elements of tuple elementct.cfor UInt32 data pf nested array elements of tuple elementc
When this setting is enabled, we will write a mark for each of these 5 substreams, which means that we will be able to read
the data of each individual substream from the granule separately if needed. For example, if we want to read the subcolumn t.c we will read only data of
substreams t.c.size0, t.c.null and t.c and won’t read data from substreams t.a and t.b. When this setting is disabled,
we will write a mark only for top-level column t, which means that we will always read the whole column data from the granule, even if we need only data of some substreams.