位置: 编程技术 - 正文

mongoDB实现分页的方法(mongodb如何分片)

编辑:rootadmin

推荐整理分享mongoDB实现分页的方法(mongodb如何分片),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mongotemplate 分页查询,mongo 分页查询,mongodb分页查询count太慢,mongodb如何分片,mongotemplate 分页查询,mongodb 分页,mongo 分页查询,mongodb分页查询语句,内容如对您有帮助,希望把文章链接给更多的朋友!

mongoDB的分页查询是通过limit(),skip(),sort()这三个函数组合进行分页查询的。

下面这个是我的测试数据

db.test.find().sort({"age":1});

第一种方法

查询第一页的数据:db.test.find().sort({"age":1}).limit(2);

查询第二页的数据:db.test.find().sort({"age":1}).skip(2).limit(2);

查询其他页数以此类推。。。

第二种方法

查询第一页的数据:db.test.find().sort({"age":1}).limit(2);

跟上面的第一种方法一样的。

查询第二页的数据:

这个是获取第一页最后一条记录的值,然后排除前面的记录,就能获取到新的记录了

总结来说,如果数据量不是很大的话,可以使用第一种方法,毕竟比较简单,如果数据量比较大的话,使用第二种方法比较好,因为这样就可以不用到skip()这个函数,skip跳过太多的记录,效率有点低

经过认真的考虑,第二种方法确实不适合跳页,而且效率也不是很高

mongoDB实现分页的方法(mongodb如何分片)

对于海量数据的话,我们要做些特殊的处理,

有以下2种方法

第一种方法

限制分页的页数,类似百度的百度的分页处理,只是显示前面的七百多条记录,这样的就不用考虑性能的问题了,毕竟一般人都只是翻到前面十页,就找到自己需要的了

后面的统计结果应该是估算出来的,根据查出来的这些记录所占的比例估算出总的记录数

第二种方法

我们可以这样做,假设是根据id排序的,我们可以id跟id所在的页数的序号存到redis/MemberCached中,

就像这样,假设每一页有条记录

id page

1 1

2 1

。。。

1

2

2

。。。。

2

这样我们查第一页的时候就能直接取出十条数据

假设有1亿条数据,一条记录id占4个字节,其他信息的占一个字节,一条记录就占5个字节

1 *5/(*)=MB

这种做法使用空间换时间,一般数据库查询的时间大多花在跟数据库的连接上,放在缓存中,可以大大加快查询的速度

标签: mongodb如何分片

本文链接地址:https://www.jiuchutong.com/biancheng/312642.html 转载请保留说明!

上一篇:mongoDB 多重数组查询(AngularJS绑定显示 nodejs)(mongodb 分组计数)

下一篇:MongoDB进阶之动态字段设计详解(mongodb进阶与实战下载)

  • 增值税加计抵减的行业
  • 所得税税负率的计算公式中营业收入含不含税
  • 孳息和利息的区别
  • 物业管理费专票可以抵扣吗
  • 建筑施工企业增值税税率是多少
  • 血液制品3%增值税税率
  • 专票没有抵扣联可以作废吗
  • 个人如何办理营业执照需要什么材料
  • 印花税退税流程怎么操作
  • 发票勾选平台怎么导出未勾选的发票
  • 高新技术企业分类
  • 开票系统维护费每年都要交吗
  • 生产成本里面的工会经费
  • 一般纳税人要交的税种有几种
  • 单位给员工买车怎么买
  • 基础年收入是什么意思
  • 未认证进项税额转出
  • 公司的钱怎么提现
  • 一般纳税人普通发票要交增值税吗
  • 打印企业银行流水需要密码吗
  • 工地没有手续擅自开工违法吗
  • 工资的结转
  • 应用程序无法正常启动(0xc0000142)
  • app data文件夹
  • 冲减增值税进项税怎么处理
  • 房地产开发有限公司英文
  • 社保多交怎么办理
  • php编程入门教程
  • 暂估成本跨年怎么处理分录
  • 如何在WIN10系统安装IE浏览器
  • postgres.exe是什么进程 postgres进程查询
  • php字符串函数有哪些
  • 申请开立临时存款账户
  • 现金结算的范围及内部控制
  • PHP:oci_field_type_raw()的用法_Oracle函数
  • 支票存根属于什么凭证类型
  • win11修改版
  • 苏格兰高地什么意思
  • 没有资质证书的公司可靠吗?
  • 代垫运费的增值税可以抵扣吗
  • 前端必会
  • wordpress neve
  • 企业所得税能否票据入账
  • 生产企业出口退税账务处理会计分录
  • 税盘抵扣怎么做分录
  • 如何理解当期损益
  • 金税三期税收管理系统打印控件
  • 股东存入投资款要交什么税
  • 利息收入算什么
  • 合同取得成本和销售费用
  • 开具的简易计税凭证
  • 同一张发票报销两次会被发现吗
  • 进项税转出补缴增值税 城建税及两费
  • 收到快递赔付款怎么做账
  • 开出去的发票
  • 税前扣除是什么时候开始的
  • 会计账簿按外表可分为
  • mysql服务1067进程意外终止
  • win10如何设置视频缩略图
  • 如何激活windows2008server
  • win8无法连接到internet
  • fcbzmgr.exe
  • win8.1 微软拼音设置
  • win7系统360浏览器收藏夹位置
  • win10正式版发布时间
  • xcode用法
  • shell脚本用法
  • unity flybird
  • js设置标签内容
  • 超详细的!!!2023澳门六开彩
  • shell操作oracle数据库
  • python cookie session
  • 仿京东商城源码
  • android设计模式单例有几种
  • python系统监控
  • 人力资源差额发票
  • 江苏国税,地税怎么交
  • 土地增值税按什么价格
  • 甘肃方正税务师事务所王小云
  • 外贸企业出口退税会计分录怎么做
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设