group_by_overflow_mode
throw: 例外を送出するbreak: クエリの実行を停止し、途中までの結果を返すany: set に含まれているキーについては集約を続行しますが、新しいキーは set に追加しません。
any を使用すると、GROUP BY の近似結果を得られます。この近似の精度は、
データの統計的な性質に依存します。
group_by_top_k_optimization_observation_rows
enable_group_by_top_k_optimization の場合、各集約ストリームが、入力行の 10% 未満しかスキップせず、容量より少ないキーしか追い出さなかった完全な top-K ヒープを固定するまでに観測する行数です。ヒープが固定されると、最適化が無効であるかのように集約が続行されます。
実効ウィンドウはヒープの予約済みサイズの少なくとも 2 倍です。そのため、ヒープは評価される前に必ず満杯になる機会があります。0 はこの固定を無効にします (ただし、境界の同順位セットがヒープの容量を超えた場合、ヒープは引き続き固定されます) 。
これは、ORDER BY のない GROUP BY keys LIMIT K クエリには影響しません。この形式では固定は常に無効です。この形式のプランには、ヒープがハッシュテーブルを制限している間にのみ効果を発揮する合成ソートが含まれるためです。ヒープを固定すると、最適化なしの場合よりも遅いプランになってしまいます。
group_by_two_level_threshold
group_by_two_level_threshold_bytes
group_by_use_nulls
ROLLUP、CUBE、または GROUPING SETS 指定子を使用すると、一部の結果行の生成時に使われない集約キーが生じることがあります。
この設定に応じて、これらのキーに対応するカラムは、該当する行でデフォルト値または NULL で埋められます。
設定可能な値:
- 0 — 欠損値の生成には、集約キー型のデフォルト値が使用されます。
- 1 — ClickHouse は SQL 標準に従って
GROUP BYを実行します。集約キーの型は Nullable に変換されます。対応する集約キーのカラムは、そのキーが使われなかった行では NULL で埋められます。