【发布时间】:2020-04-01 22:02:14
【问题描述】:
我尝试测试边界并注意到如果表中有 5K 列,即使我尝试仅插入 2 列值,我也会得到 从 127.0.0.1:9000 收到。 DB::Exception:超出内存限制(用于查询):将使用 9.31 GiB
有没有办法处理大量的指标?
单个表的列数实际限制是多少?
【问题讨论】:
标签: olap clickhouse
我尝试测试边界并注意到如果表中有 5K 列,即使我尝试仅插入 2 列值,我也会得到 从 127.0.0.1:9000 收到。 DB::Exception:超出内存限制(用于查询):将使用 9.31 GiB
有没有办法处理大量的指标?
单个表的列数实际限制是多少?
【问题讨论】:
标签: olap clickhouse
我认为没有限制(除了您的硬件限制)。尝试增加查询的最大内存使用量
https://clickhouse.yandex/docs/en/operations/settings/query_complexity/#settings_max_memory_usage
【讨论】:
当您尝试插入任何行时,ClickHouse 为每列分配大约 1-2Mb,所以正确答案是肯定的,它没有严格的限制,但受您的 CPU、内存、与插入的并发客户端连接以及 *MergeTree 表引擎的限制按分区数(请参阅文档中的 PARTITION BY)
【讨论】:
field String 时,它的意思是 field String DEFAULT '' 和 field Int32 意味着 field Int32 DEFAULT 0 我认为你只是尝试分配 2Mb* 5000 列,在这种情况下