mongo内存中排序可能会导致ram不足报错
2023-09-27 14:23:03 时间
如果对查询结果较大的数据量进行排序,超过了一定的ram大小,那么就会提示ram不足。
我这里提示 maximum 33554432 bytes 也就是 大约32M的情况下,就已经开始提示了。所以建议,如果一次性查出了很大的数据量,就不要在内存中排序了。
那么有什么好的解决方法吗?
在MongoDB中,排序操作,可以通过从索引中按照索引的顺序获取文档的方式,来保证结果的有序性。
如果MongoDB的查询计划器(planner) 没法从索引中得到排序顺序,那么它就需要在内存中对结果排序。
相比于“不用索引的排序”操作,用索引会有更好的性能。
注意,关键是:不用索引的排序操作,会在用了超过32MB内存时终止,也就是说MongoDB只能支持32MB的非索引排序 。
如果数据量很大,比如我目前的应用场景下,都是千万级数据量,而且飞速增加,达亿级…
Query failed with error code 96 and error message 'Executor error during find command :: caused by
相关文章
- 深入理解JMM(Java内存模型) --(二)重排序
- 性能测试,python 内存分析工具 -memray
- 绿盟科技互联网安全威胁周报2016.30 需要尽快修补OpenSSH内存耗尽漏洞
- Oracle 11g 的 自动内存管理
- 【Python&计算机基础知识】:CPU、内存、硬盘 || (Python)程序执行的原理 || 程序的作用 || 查看Python解释器 || QQ的启动过程
- 购买云服务器如何选择cpu与内存搭配
- android qemu-kvm内存管理和IO映射
- JAVA:测试java虚拟机支持的最大内存 Xmx 值?Tomcat 内存溢出?(转)
- Codeforces 39E What Has Dirichlet Got to Do with That? 游戏+内存搜索
- 关于mysql内存表的一个帖子(转载)
- 【算法】递归算法 ① ( 使用递归推导斐波那契数列 | 递归内存开销分析 | 递归三要素 : 定义 拆解 出口 )
- [转]避免PHP-FPM内存泄漏导致内存耗尽
- JavaScript 的内存泄露和垃圾回收
- 【并发编程003】局部变量,对象实例,jvm加载的类,常量及静态变量都存储在内存的什么部位?是线程私有的吗?
- 【jvm我能讲两小时081】jvm内存溢出和内存泄漏