位置: 编程技术 - 正文

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进阶与实战下载)

  • 个税手续费返还政策最新规定2023
  • 应交税费负数调整到其他非流动资产
  • 税务问答网站
  • 跨年的预收账款怎么记账
  • 发票上的收款人负法律责任吗
  • 网络文化传媒公司名字
  • 为职工提供免费午餐
  • 企业退回企业所得税分录
  • 合同一方按手印另一方没按有效吗
  • 固定资产的确认条件是什么
  • 生产中材料的合理损耗核算
  • 红字发票做进项转出还是红字负数
  • 投资性房地产转固定资产账务处理
  • 以前年度费用未入账税务处理
  • 费用分摊怎么算
  • 自收自支事业单位是什么意思
  • 个人给单位干的小工程需代扣个税吗?
  • 企业盈利后又亏损怎么算
  • 开培训费专用发票开票有具体要求吗?
  • 营改增之前
  • 所得税工资账载怎么算
  • 房地产企业扣除项目
  • 暑假工需要什么条件
  • 免税收入包括哪些收入
  • 支付外汇代扣代缴增值税
  • windows10如何移动文件
  • 银行承兑汇票和银行汇票的区别
  • 如何给网页添加水印
  • ajax请求php接口
  • uc浏览器不让访问网页
  • 什么是摊余成本计量的金融资产
  • 工会经费税前扣除标准2022
  • 城市基础设施配套费计入什么科目
  • 拆迁以后
  • 加工劳务费会计分录
  • php的lamp
  • densenet网络结构详解
  • 富文本编辑器使用
  • vue3中使用window方法
  • Js中操作数组的方法
  • php图像识别
  • php写一个简单的单例模式
  • 购买低值易耗品的现金流属于什么
  • 建筑业的账务处理方法
  • 开发成本结转开发产品的分录
  • 增值税发票开具规定
  • 增值税销项税红字应如何报税
  • mongodb从入门到商业实战
  • 短期借款属于经营活动还是筹资活动
  • 职工福利费允许抵扣吗
  • 房地产企业建成后先出租的房地产
  • 可供出售金融资产属于什么科目
  • 税控服务费全额抵扣
  • 工程结算收入如何确定
  • 房产税是怎么样
  • 公司过账的款项怎么入账
  • 会计做账的凭据是什么
  • 一般纳税人应交增值税怎么算
  • 增值税抵扣比例是多少
  • 研发支出是科目吗
  • 报销单填写发票第几页交给财务
  • 留存收益属于什么会计要素
  • 股票印花税是多少比例
  • 工业企业增值税税率
  • DBCC CHECKIDENT 重置数据库标识列从某一数值开始
  • Mac安装不了iTunes
  • win10预览版和正式版区别
  • liunx系统常用命令
  • win7系统补丁包
  • centos7软件安装
  • sysscjh.exe是什么文件
  • win7怎样解除无线连接限制
  • linux定时任务实现原理
  • win8系统修复在哪里
  • shell脚本编写 方法
  • shell脚本-ge
  • unity find references in scene
  • javascript的主要内容
  • 源码讲解
  • 餐厅税务依据有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设