Skip to main content
Показывает для каждой комбинации (часть, столбец, подпоток) таблицы семейства MergeTree, сколько сжатых блоков использует каждый кодек. Это позволяет отслеживать адаптивный выбор кодека (включаемый настройкой allow_experimental_adaptive_codec_selection), при котором для каждого блока в столбцах с кодеком по умолчанию может выбираться отдельный кодек. При выборе codec_block_counts считываются файлы данных .bin, а не только метаданные. Остальные столбцы содержат только метаданные. Части, не записывающие сведения о своих подпотоках в columns_substreams.txt, не отображаются. Если для таблицы действует политика строк для текущего пользователя, чтение codec_block_counts вызывает ошибку ACCESS_DENIED, поскольку подсчёты включали бы строки, скрытые политикой. Остальные столбцы остаются доступными для чтения: system.parts_columns сообщает о них независимо от политик строк.

Синтаксис

Аргументы

Возвращаемое значение

Объект таблицы с одной строкой для каждой комбинации (активная часть, столбец, подпоток) исходной таблицы:
  • part_name (String) — Активная часть данных, которой принадлежит столбец.
  • column (String) — Имя столбца.
  • substream (String) — Физический поток столбца, для которого приводится число блоков. Соответствует system.parts_columns.substreams.
  • data_compressed_bytes (Nullable(UInt64)) — Размер сжатых данных в подпотоке в байтах. NULL для частей Compact.
  • data_uncompressed_bytes (Nullable(UInt64)) — Размер несжатых данных в подпотоке в байтах. NULL для частей Compact.
  • codec_block_counts (Map(String, UInt64)) — Число сжатых блоков в этом подпотоке с группировкой по кодеку. Пусто для частей Compact: их столбцы используют один общий файл данных, поэтому для отдельных потоков не указывается используемый кодек.

Пример использования

Итоги по столбцу вычисляются с помощью GROUP BY column и sumMap:
Столбец LowCardinality отдельно отображает потоки словаря и индексов:
Последнее изменение 14 августа 2026 г.