Mongo Sort Operation Max 33554432 Bytes
文章目录
【注意】最后更新于 August 4, 2020,文中内容可能已过时,请谨慎使用。
问题
这几日做 Mongodb 数据库服务迁移,迁移后多处 API 报如下错误:OperationFailed: Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smaller limit
原因
Mongodb的sort操作是把数据拿到内存中再进行排序的,为了节约内存,默认给 sort 操作限制了最大内存为32Mb,当排序数据量超出了这个大小,问题就出现了。
解决
方案一
给排序字段添加索引(index),自己业务使用的 updated_at 字段排序,给此字段添加索引后问题得以解决。
经排查自己的增量迁移 JP Mongodb 作为 C 端主库使用,而为使用原 C 端主库,原 C 端主库的索引是存在的,补充上索引后得以解决。
方案二
加大缓冲区,建议还是优先考虑方案一:
|
|
文章作者 BING
上次更新 2020-08-04