group_by_overflow_mode
throw:抛出异常break:停止执行查询并返回部分结果any:继续对已进入集合的键进行聚合,但不再向集合中添加新键。
any 值可以执行 GROUP BY 的近似计算。这种近似计算的效果取决于数据的统计特性。
group_by_top_k_optimization_observation_rows
enable_group_by_top_k_optimization:在冻结一个完整 top-K 堆之前,每个聚合 stream 观察的行数;该堆跳过的输入行不足 10%,且驱逐的键数少于其容量。堆被冻结后,聚合会像禁用该优化一样继续执行。
有效窗口至少是堆预留大小的两倍,因此堆在接受评估前始终有机会填满。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。
Possible values:
- 0 — 使用聚合键类型的默认值来填补缺失值。
- 1 — ClickHouse 会按照 SQL 标准的方式执行
GROUP BY。聚合键的类型会转换为 Nullable。对于未使用相应聚合键的行,其对应列会填充为 NULL。