Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

write_* MergeTree テーブル設定

これらの設定は system.merge_tree_settings で確認でき、ClickHouse のソースコードから自動生成されています。

write_final_mark

Bool
デフォルト値
1

廃止された設定で、効果はありません。

write_marks_for_substreams_in_compact_parts

Bool
デフォルト値
1
バージョン履歴
バージョンデフォルト値コメント
25.81compact パーツでサブストリームごとにデフォルトでマークを書き込むことを有効にする
25.50新しい設定

compact パーツで、各カラムごとではなく各サブストリームごとにマークを書き込むようにします。 これにより、データパーツから個々のサブカラムを効率的に読み取れるようになります。

たとえば、カラム t Tuple(a String, b UInt32, c Array(Nullable(UInt32))) は次のサブストリームにシリアライズされます。

  • t.a はタプル要素 a の String データ
  • t.b はタプル要素 b の UInt32 データ
  • t.c.size0 はタプル要素 c の配列サイズ
  • t.c.null はタプル要素 c のネストされた配列要素の NULL マップ
  • t.c はタプル要素 c のネストされた配列要素の UInt32 データ

この設定を有効にすると、これら 5 つのサブストリームそれぞれにマークが書き込まれます。つまり、必要に応じてグラニュールから各サブストリームのデータを個別に読み取れるようになります。たとえば、サブカラム t.c を読み取りたい場合は、サブストリーム t.c.size0t.c.nullt.c のデータだけを読み取り、 サブストリーム t.at.b のデータは読み取りません。この設定が無効な場合は、 最上位カラム t に対してのみマークが書き込まれるため、一部のサブストリームのデータだけが必要な場合でも、グラニュールから常にカラムデータ全体を読み取ることになります。

Navigation