Skip to main content
Показывает для каждой комбинации (часть, столбец, подпоток) таблицы семейства MergeTree, сколько сжатых блоков использует каждый кодек. Это позволяет отслеживать адаптивный выбор кодека (включаемый настройкой enable_adaptive_codec_selection), при котором для каждого блока в столбцах с кодеком по умолчанию может выбираться отдельный кодек. При выборе codec_block_counts считываются файлы данных .bin, а не только метаданные. Остальные столбцы содержат только метаданные. Части, не записывающие сведения о своих подпотоках в columns_substreams.txt, не отображаются. Каждое отображаемое значение вычисляется на основе данных таблицы, поэтому для чтения любого столбца результата требуется привилегия SELECT на все столбцы таблицы. Предоставления привилегии только для некоторых столбцов недостаточно. Эта привилегия также требуется для определения структуры функции, например с помощью DESCRIBE. Пользователь, которому вообще не разрешено видеть таблицу, то есть не имеющий для неё привилегии SHOW TABLES, получает ACCESS_DENIED независимо от того, существует ли она, поэтому функция не сообщает такому пользователю, какие таблицы существуют. Если для таблицы действует политика строк для текущего пользователя, чтение 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 отдельно отображает потоки словаря и индексов:
Последнее изменение 26 сентября 2026 г.