【发布时间】:2021-10-06 01:42:36
【问题描述】:
我有一个包含大约 20 亿行的表,我尝试从中查询 max(id)。 id 不是表的排序键,表使用的是表引擎mergeTree。
无论我尝试什么,都会出现内存错误。这不仅限于此一个查询。一旦我尝试完全(垂直)查询任何表以查找数据,我的 12 GB 内存就不够了。现在我知道我可以添加更多,但这不是重点。当它没有足够的内存时,clickhouse 是不是故意抛出错误?有没有设置让 clickhouse 改用磁盘?
SQL 错误 [241]:ClickHouse 异常,代码:241,主机:XXXXXX,端口:8123;代码:241,e.displayText() = DB::Exception:超出内存限制(用于查询):将使用 9.32 GiB(尝试分配 9440624 字节的块),最大值:9.31 GiB(版本 21.4.6.55(官方构建) )
【问题讨论】:
-
能否提供表和sql-query的架构?看起来你使用 GROUP BY,所以看看GROUP BY in External Memory。
标签: clickhouse clickhouse-client