Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

max_partitions_* 会话设置

这些设置可在 system.settings 中查看,并由 源代码 自动生成。

max_partitions_per_insert_block

类型
UInt64
默认值
100
版本历史
版本默认值注释
19.5100为单个块中的分区数量添加限制

限制单个插入块中的最大分区数; 如果该块包含过多分区,则会抛出异常。

  • 正整数。
  • 0 — 分区数量不受限制。

详情

插入数据时,ClickHouse 会计算插入块中的分区数。 如果分区数超过 max_partitions_per_insert_block,ClickHouse 会根据 throw_on_max_partitions_per_insert_block 记录警告日志或抛出异常。异常文本如下:

"单个 INSERT 块中的分区过多 (partitions_count 个分区,限制为 " + toString(max_partitions) + ") 。 此限制由 'max_partitions_per_insert_block' 设置控制。 大量分区是一种常见误区。这会对性能造成严重负面影响, 包括服务器启动缓慢、INSERT 查询变慢 以及 SELECT 查询变慢。对于一张表,建议的分区总数应 保持在 1000..10000 以下。请注意,分区的目的并不是加速 SELECT 查询 (ORDER BY 键已足以让范围查询变快) 。 分区是用于数据操作的 (DROP PARTITION 等) 。"

max_partitions_to_read

类型
Int64
默认值
-1

限制单次查询可访问的最大分区数。

创建表时指定的该设置值可以通过查询级别的设置覆盖。

可能的值:

  • 正整数
  • -1 - 不受限制 (默认)
Navigation