概述
SELECT 查询;而在分布式
查询处理场景中,这些限制会在每台服务器上分别生效。
ClickHouse 通常只会在数据分区片段
完成处理后才检查这些限制,而不是对每一行都进行检查。这可能
导致在处理分区片段期间
就已经出现超出限制的情况。
overflow_mode 设置
overflow_mode 设置,用于定义
超出限制时的处理方式,可取以下两个值之一:
throw:抛出异常 (默认) 。break:停止执行查询并返回部分结果,就像 源数据已耗尽一样。
max_execution_time 且使用 break 而停止时,某些操作无法安全地返回
部分结果,因此会在不产生结果的情况下停止,而非返回较小的结果。计算单个值的函数会停止,
且不会产生该值;停止是否也会以 TIMEOUT_EXCEEDED 错误传达给客户端,还是仅表现为缺少结果,
取决于查询在何处被中断。因超时而未完成的 Memory 表变更会保持表不变,并报告
TIMEOUT_EXCEEDED。INSERT 可能报告 QUERY_WAS_CANCELLED。某些等待其他副本或后台
工作的操作完全不会在 max_execution_time 时停止:法定人数写入会持续等待,直到满足其法定人数,
或者如果 insert_quorum_timeout 先到期,则报告 UNKNOWN_STATUS_OF_INSERT。
group_by_overflow_mode 设置
group_by_overflow_mode 设置还有
一个值 any:
any:继续对已进入该集合的键进行聚合,但不再 将新键添加到该集合中。
设置列表
对“某项内容的最大值”的限制可以设为
0,
这表示其“不受限制”。已废弃的设置
以下设置已废弃