蟑螂Db 内存预算限制



我的Windows PC上本地安装了CockroachDb,当我运行特定的选择查询时,我收到以下错误消息:

请求的 7143455 字节(127403581当前分配的(预算中为 134217728 字节。

我在这里读了一篇博客文章,但我还没有找到解决方案。我将不胜感激有关如何增加此预算限制的帮助。

2.0 和 2.0.2 之间的 CockroachDB 版本在内存中有一个错误,考虑到 JSONB 列,导致此错误。该错误将在 6 月中旬发布的 2.0.3 版本中修复。

作为一种解决方法,您可以重写此查询以提高效率(这可能会减少内存使用量,即使存在错误,也可以使用内存。即使没有,当 2.0.3 可用时,也会加快查询速度(。如果我正确阅读了您的查询,这相当于

SELECT ID, JsonData,PrimaryIDs,IsActive,IsDeleted FROM "TableName"
WHERE LOWER(JsonData->>'Name') LIKE '%transaction%'
ORDER BY ID OFFSET 0 FETCH NEXT 100 ROWS ONLY

带有ROW_NUMBER()的子查询用于旧版本的 SQL Server,但自 SQL Server 2012 以来,OFFSET 0 FETCH NEXT N ROWS ONLY版本已可用且效率更高。

语法OFFSET 0 FETCH NEXT N ROWS ONLY语法来自 SQL 标准,因此它应该适用于大多数数据库。CockroachDB还支持MySQL和PostgreSQL中用于相同目的的LIMIT关键字。