Skip to main content
Informa, para cada (parte, coluna, subfluxo) de uma tabela MergeTree, quantos blocos comprimidos usam cada codec. Assim, é possível observar a seleção adaptativa de codec (habilitada pela configuração allow_experimental_adaptive_codec_selection), que pode escolher um codec por bloco para colunas com o codec padrão. A seleção de codec_block_counts lê arquivos de dados .bin, e não apenas metadados. As outras colunas contêm somente metadados. As partes que não registram seus subfluxos em columns_substreams.txt não são listadas. Se uma política de linha se aplicar à tabela para o usuário atual, a leitura de codec_block_counts lança ACCESS_DENIED, pois as contagens abrangeriam linhas ocultadas pela política. As outras colunas permanecem legíveis; system.parts_columns as informa independentemente das políticas de linha.

Sintaxe

Argumentos

Valor retornado

Um objeto de tabela com uma linha para cada combinação de (parte ativa, coluna, subfluxo) da tabela de origem:
  • part_name (String) — A parte de dados ativa à qual a coluna pertence.
  • column (String) — O nome da coluna.
  • substream (String) — O fluxo físico da coluna ao qual as contagens se referem. Corresponde a system.parts_columns.substreams.
  • data_compressed_bytes (Nullable(UInt64)) — Tamanho dos dados comprimidos no subfluxo, em bytes. NULL para partes Compact.
  • data_uncompressed_bytes (Nullable(UInt64)) — Tamanho dos dados não comprimidos no subfluxo, em bytes. NULL para partes Compact.
  • codec_block_counts (Map(String, UInt64)) — Número de blocos comprimidos deste subfluxo, agrupados por codec. Vazio para partes Compact, cujas colunas compartilham um único arquivo de dados e, portanto, não possuem atribuição de codec por fluxo.

Exemplo de uso

Os totais por coluna são um GROUP BY column com sumMap:
Uma coluna LowCardinality relata separadamente os fluxos do dicionário e dos índices:
Última modificação em 14 de agosto de 2026