【案例】--mongodb的响应慢思考案例
目录
- 一、问题现象及思考思路
-
- 1、问题现象
- 2、思考思路
- 3、问题分析
- 二、对mongodb查询的影响有哪些
-
- 1、单条数据大,对查询的影响
- 2、mongodb硬件性能,对查询的影响
- 三、分页查询问题及优化策略
-
- 1、索引有效利用
- 2、基于索引的游标分页
- 3、聚合策略
- 4、减少查询返回的数据量
- 5、缓存机制
- 6、采用分片和分区策略
- 四、分页查询代码实现
-
- 1、游标分页查询
- 2、聚合分页查询
一、问题现象及思考思路
1、问题现象
最近系统平台接口响应非常慢,一度影响用户正常使用。通过查看几种场景具体接口,造成响应慢的查询现象:
(1).一次性查询返回上千(万)笔数据;
(2).in()方法,一次性查询上千(万)的数据id;
(3).深度分页查询;
2、思考思路
分析对应的mongodb表,表的总体数据量并不是很大,但单笔数据存储的较大(早期设计表的人考虑欠缺。再结合公司实际部署Mongodb服务器情况,综合分析,在一次性查询大规模数据时确实存在响应慢的可能性。
3、问题分析
针对上面的问题想象,结合实际表的存储大小、数据库服务器硬件性能等分析,在一次性查询较大数据集或返回较大数据集时,如何提高查询速度?
=====解决方案:并行批次查询、游标方式分页查询等【具体根据实际业务选择合适的方法】
二、对mongodb查询的影响有哪些
1、单条数据大,对查询的影响
单条数据大,对查询性能产生一定影响。具体原因: