我的Windows PC上有本地安装的CockroachDb,当我运行特定的选择查询时,收到以下错误消息:
请求7143455个字节,当前已分配127403581,预算中为134217728个字节。
我已阅读博文here,但我还没有找到解决方案。我将非常感谢如何提高预算限额。
答案 0 :(得分:2)
2.0和2.0.2之间的CockroachDB版本在JSONB列的内存记帐中存在错误,从而导致此错误。该错误将在6月中旬的版本2.0.3中修复。
作为一种解决方法,您可以重写此查询以提高效率(这可能会降低内存使用率,甚至可以使用该bug。即使它没有,它也会在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
版本已可用并且为more efficient。
语法OFFSET 0 FETCH NEXT N ROWS ONLY
语法来自SQL标准,因此它应该适用于大多数数据库。 CockroachDB还支持LIMIT
关键字,它在MySQL和PostgreSQL中用于同一目的。