Skip to main content
Эти настройки доступны в system.merge_tree_settings и автоматически генерируются на основе исходного кода ClickHouse.

write_final_mark

Устаревшая настройка, не имеет эффекта.

write_marks_for_substreams_in_compact_parts

Включает запись меток для каждого подпотока вместо каждого столбца в компактных частях. Это позволяет эффективно читать отдельные подстолбцы из части данных. Например, столбец t Tuple(a String, b UInt32, c Array(Nullable(UInt32))) сериализуется в следующие подпотоки:
  • t.a для данных String элемента кортежа a
  • t.b для данных UInt32 элемента кортежа b
  • t.c.size0 для размеров массива элемента кортежа c
  • t.c.null для карты NULL вложенных элементов массива элемента кортежа c
  • t.c для данных UInt32 вложенных элементов массива элемента кортежа c
Когда эта настройка включена, для каждого из этих 5 подпотоков будет записываться отдельная метка. Это означает, что при необходимости мы сможем читать данные каждого отдельного подпотока из гранулы по отдельности. Например, если нужно прочитать подстолбец t.c, будут прочитаны только данные подпотоков t.c.size0, t.c.null и t.c, а данные подпотоков t.a и t.b читаться не будут. Когда эта настройка отключена, будет записываться метка только для столбца верхнего уровня t, а это означает, что из гранулы всегда будут читаться все данные столбца, даже если нужны данные только некоторых подпотоков.
Последнее изменение 23 июля 2026 г.