sort operation used more than the maximum 33554432 bytes of RAM. Add an index,or specify a smaller

本文介绍了解决MongoDB在进行排序操作时遇到的内存限制错误的方法。当MongoDB无法使用索引来获取按请求顺序排列的文档时,将尝试在内存中进行排序。若文档大小超过32MB,需通过创建索引或调整内部参数来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

生产环境mongodb 报错,
sort operation used more than the maximum 33554432 bytes of RAM. Add an index,or specify a smaller limit

mongodb 版本 3.2.6,下面是官方文档的描述

Sort Operations
If MongoDB cannot use an index to get documents in the requested sort order, the combined size of all documents in the sort operation, plus a small overhead, must be less than 32 megabytes.

解决方法
1、创建索引

--不阻塞创建索引
db.xxxxx.createIndex({"name":1,"sex":1},{"background":1})

2、增加sort memory

--查询当前值
db.runCommand({ getParameter : 1, "internalQueryExecMaxBlockingSortBytes" : 1 } )

--设置新值
db.adminCommand({setParameter:1, internalQueryExecMaxBlockingSortBytes:67108864})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据库人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值