Skip to main content
这些设置可在 system.settings 中查看,并根据 源代码 自动生成。

aggregate_function_input_format

INSERT 操作期间 AggregateFunction 输入的格式。 可能的值:
  • state — 包含序列化状态的二进制字符串 (默认值) 。这是默认行为,即 AggregateFunction 值应以二进制数据形式提供。
  • value — 此格式要求提供聚合函数参数的单个值;如果有多个参数,则要求提供由这些参数组成的 tuple。它们会使用相应的 IDataType 或 DataTypeTuple 进行反序列化,然后聚合形成状态。
  • array — 此格式要求提供一个值的 Array,如上文 value 选项所述。数组中的所有元素都会被聚合以形成状态。
示例 对于一个具有以下结构的表:
aggregate_function_input_format = 'value' 时:
aggregate_function_input_format = 'array' 时:
注意:valuearray 格式比默认的 state 格式更慢,因为它们在插入时需要创建并聚合值。

aggregate_functions_null_for_empty

启用或禁用对查询中所有聚合函数的重写,并为它们添加 -OrNull 后缀。若要兼容 SQL 标准,请启用此设置。 它通过查询重写来实现 (类似于 count_distinct_implementation 设置) ,以便在分布式查询中获得一致的结果。 可能的值:
  • 0 — 禁用。
  • 1 — 启用。
示例 请考虑以下包含聚合函数的查询:
aggregate_functions_null_for_empty = 0 时,结果为:
aggregate_functions_null_for_empty = 1 时,结果为:
最后修改于 2026年7月23日