Skip to main content
MergeTree テーブルの (パーツ、カラム、サブストリーム) ごとに、各 codec を使用している圧縮ブロック数を報告します。これにより、デフォルト codec を使用するカラムではブロックごとに codec を選択できる、enable_adaptive_codec_selection 設定で有効になる適応型 codec 選択を確認できます。 codec_block_counts を選択すると、メタデータだけでなく .bin データファイルも読み取ります。ほかのカラムはメタデータのみを読み取ります。 サブストリームを columns_substreams.txt に記録しないパーツは一覧に表示されません。 報告されるすべての値はテーブル’のデータから導出されるため、結果の任意のカラムを読み取るには、テーブルのすべてのカラムに対する SELECT 権限が必要です。一部のカラムのみを対象とする権限付与では不十分です。この権限は、たとえば DESCRIBE によって関数の構造を解決する際にも必要です。テーブルをまったく表示できない、つまりそのテーブルに対する SHOW TABLES 権限を持たないユーザーには、テーブルが存在するかどうかにかかわらず ACCESS_DENIED が返されるため、この関数はそのようなユーザーにどのテーブルが存在するかを知らせません。 現在のユーザーに対してテーブルに行ポリシーが適用されている場合、codec_block_counts を読み取ると ACCESS_DENIED がスローされます。カウントにはポリシーによって非表示となる行も含まれるためです。ほかのカラムは引き続き読み取ることができ、system.parts_columns は行ポリシーにかかわらずこれらを報告します。

構文

引数

戻り値

ログソーステーブルの (アクティブなパーツ、カラム、サブストリーム) ごとに1行を含むテーブルオブジェクト:
  • part_name (String) — カラムが属するアクティブなデータパーツ。
  • column (String) — カラム名。
  • substream (String) — カウント対象のカラムの物理ストリーム。system.parts_columns.substreams と一致します。
  • data_compressed_bytes (Nullable(UInt64)) — サブストリーム内の圧縮データのサイズ (バイト単位) 。Compact パーツでは NULL。
  • data_uncompressed_bytes (Nullable(UInt64)) — サブストリーム内の非圧縮データのサイズ (バイト単位) 。Compact パーツでは NULL。
  • codec_block_counts (Map(String, UInt64)) — codec ごとに集計した、このサブストリームの圧縮ブロック数。カラムが1つのデータファイルを共有するためストリームごとの codec 割り当てがない Compact パーツでは空です。

使用例

カラムレベルのtotalsは、sumMap を使用する GROUP BY column です。
LowCardinality カラムでは、Dictionary と索引のストリームがそれぞれ個別に報告されます。
最終更新日 2026年9月26日