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 enable_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. Todo valor informado é derivado dos dados da tabela, portanto a leitura de qualquer coluna do resultado exige o privilégio SELECT em todas as colunas da tabela. Um grant que abranja apenas algumas das colunas não é suficiente. O privilégio também é necessário para resolver a estrutura da função, por exemplo, por meio de DESCRIBE. Um usuário que não tem permissão alguma para ver a tabela, ou seja, que não possui o privilégio SHOW TABLES sobre ela, recebe ACCESS_DENIED independentemente de a tabela existir ou não, de modo que a função não revela a esse usuário quais tabelas existem. 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 26 de setembro de 2026