mongo查询优化
来源:互联网 发布:王者荣耀 刘备 知乎 编辑:程序博客网 时间:2024/06/05 03:02
经过多次调整,java查询mongo我们采取了分级查询。首先我定义一下下面提到的名词
条件元组(object ):查询条件的元组,比如object={"keyValue":"5***********0024","keyType":"A"}
实际查询条件(arr): 外部接口调用我们接口会传递不定数量的条件元组,比如arr=[{"keyValue":"5***********0024","keyType":"A"},{"keyValue":"5***********0024","keyType":"A"},{"keyValue":"5***********0024","keyType":"A"}],这些元组都是OR条件。查询条件数量1-500+不等
条件元组数量(size): 实际查询条件的数量 size=arr.length
-----------------------------------------------------分隔符-----------------------------------------------------------------
keyType和keyValue我们建立了联合索引,每次查询筛选条件有keyType、keyValue、date(没有索引)
if(size<5){
逐条object 查询,查询条件只有keyType和keyValue ;
对每一次查询出的数据在内存中根据date进行筛选;
将筛选后的结果添加到结果List中
}else if(size>=5&&size<=50){
将所有的object组成Or条件查询,比如{or:[{"keyValue":"5***********0024","keyType":"A",date:'2017-09-17'},{"keyValue":"5***********0024","keyType":"A",,date:'2017-09-17'}},{"keyValue":"5***********0024","keyType":"A",date:'2017-09-17'}}]}
执行一次查询
}else if(size>50){
用多线程查询,50条分为一个线程,每个线程查询方式和第二种情况一致
}
这就是我们现在改造的结果,这个结果是多次优化后的结果。
- mongo查询优化
- mongo查询的性能优化
- mongo 查询
- mongo查询
- mongo查询
- Mongo查询
- Mongo的高级查询
- mongo查询语法收藏
- spring mongo模糊查询
- mongo查询方法汇总
- mongo 查询语句
- mongo aggregate聚合查询
- Mongo 查询命令
- mongo 过滤 分组查询
- mongo 高级查询
- mongo 2 查询语句
- mongo模糊查询
- Mongo 分页查询
- swiper 不能new 成功
- iOS中MVC设计模式
- (Windows)Mysql设置远程连接,授权
- 大数据企业学习篇01之---Linux的那些事
- ffmpeg开发之旅(2):深度解析H.264编码原理
- mongo查询优化
- linux/unix多线程/多进程编程总结(二)
- linux驱动学习之kthread_work和kthread_worker机制
- idea导入项目不能使用tomcat
- hdu1102 Constructing Roads
- Windows通过samba服务器访问linux实现文件共享
- yocto build
- 2017TOP100第6届全球软件案例研究峰会即将于11月在京召开!
- 开源软件的许可证