Skip to main content
Indica, para cada (parte, columna, subflujo) de una tabla MergeTree, cuántos bloques comprimidos usan cada códec. Permite observar la selección adaptativa de códecs (habilitada por la configuración allow_experimental_adaptive_codec_selection), que puede elegir un códec por bloque para las columnas que usan el códec predeterminado. La selección de codec_block_counts lee archivos de datos .bin, no solo metadatos. Las demás columnas solo contienen metadatos. No se incluyen las partes que no registran sus subflujos en columns_substreams.txt. Si se aplica una política de filas a la tabla para el usuario actual, la lectura de codec_block_counts genera ACCESS_DENIED, ya que los recuentos incluirían filas que la política oculta. Las demás columnas siguen siendo legibles; system.parts_columns las informa independientemente de las políticas de filas.

Sintaxis

Argumentos

Valor devuelto

Un objeto de tabla con una fila por cada combinación de (parte activa, columna y subflujo) de la tabla de origen:
  • part_name (String) — La parte de datos activa a la que pertenece la columna.
  • column (String) — El nombre de la columna.
  • substream (String) — El flujo físico de la columna al que corresponden los recuentos. Coincide con system.parts_columns.substreams.
  • data_compressed_bytes (Nullable(UInt64)) — Tamaño de los datos comprimidos en el subflujo, en bytes. NULL para las partes Compact.
  • data_uncompressed_bytes (Nullable(UInt64)) — Tamaño de los datos sin comprimir en el subflujo, en bytes. NULL para las partes Compact.
  • codec_block_counts (Map(String, UInt64)) — Número de bloques comprimidos de este subflujo, agrupados por códec. Vacío para las partes Compact, cuyas columnas comparten un archivo de datos y, por tanto, no tienen una atribución de códec por flujo.

Ejemplo de uso

Los totales por columna se obtienen mediante un GROUP BY column con sumMap:
Una columna LowCardinality informa de forma independiente los flujos del diccionario y de los índices:
Última modificación el 14 de agosto de 2026