位置: 编程技术 - 正文

MongoDB快速翻页的方法(mongodb分页查询count太慢)

编辑:rootadmin

推荐整理分享MongoDB快速翻页的方法(mongodb分页查询count太慢),希望有所帮助,仅作参考,欢迎阅读内容。

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

翻阅数据是MongoDB最常见的操作之一。一个典型的场景是需要在你的用户界面中显示你的结果。如果你是批量处理的数据,同样重要的是要让你的分页策略正确,以便你的数据处理可以规模化。

接下来,让我们通过一个例子来看在MongoDB中翻阅数据的不同方式。在这个例子中,我们有一个CRM数据库的用户数据,我们需要通过翻阅浏览和在同一时间显示个用户。所以实际上,我们的页面大小是。下方是我们的用户文档的结构:

方法一:Using skip() 和 limit()

MongoDB本身支持分页操作使用 skip() 和 limit() 指令。skip(n)指令告诉MongoDB,它应该跳过“n”结果和limit(n)指令指示MongoDB,它应该限制结果长度为“n”结果。通常情况下,你将使用 skip() 和 limit() 指令,但为了说明情况,我们提供了控制台命令,这样也能达到相同的结果。同时,为了代码比较简洁,限制检查代码被排除在外。

MongoDB快速翻页的方法(mongodb分页查询count太慢)

一般来说,检索页面n,代码是这样的:

db.users.find().skip(pagesize*(n-1)).limit(pagesize)然而,随着数据的大小增加,这种方法出现严重的性能问题。其原因是在每次执行查询时,建立了完整的结果集,那么服务器必须从收集的开始走到指定的偏移量。当偏移量增加时,这一过程会变得越来越慢。同时,这个过程没有有效地使用索引。所以,当你有较小的数据集时,典型的“skip() ”和“ limit() ”的方法是有用的。如果您正在使用大数据集,您需要考虑其他方法。

方法二:Using find() 和limit()

以前的方法不能很好扩展其原因是skip() 命令。因此,本节的目标是实现分页不使用skip()命令。为此,我们将利用在存储数据中的自然顺序,比如时间戳或文档中存储的标识。

在这个例子中,我们将使用“_id”存储每个文档。“_id”是一个MongoDB 的ObjectID结构,即 字节结构包含了时间戳、机械加工、进程标识符、计数器等。总体思路如下 :

检索当前页中的最后一个文档 _id在下一个页面检索文件大于此”_id”

这种方法利用内在的规则存在_id字段。也因为“_id”字段是默认的查找操作,它是非常好的性能指标。如果你使用的字段没有被索引,那么你在操作中会受到困扰,所以确保字段被索引是非常重要的。

同样,如果你希望数据按照特定顺序进行排序分页的话,那么你还可以使用sort()条款与上述技术。重要的是要确保排序过程是利用索引来获得最佳性能。您可以使用.explain()后缀来查询。

标签: mongodb分页查询count太慢

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

上一篇:MongoDB 学习笔记(一)-MongoDB配置(mongodb 教程)

下一篇:MongoDB快速入门笔记(六)之MongoDB删除文档操作(mongodb简单使用)

  • 以前年度损益调整
  • 审计合同需要交税吗
  • 企业支付的租金在汇算时可一次性税前扣除
  • 非盈利组织确认及所得税汇算怎么做
  • 原材料的采购成本包括运费吗
  • 工业企业开票税率
  • 发票商品类别有哪几种
  • 财务软件无形资产摊销几年
  • 安装服务费发票需要备注地址吗
  • 跨月专用发票怎么冲销
  • 建筑公司核定征收是什么意思
  • 外出经营能自带食物吗
  • 死账呆账的处理程序
  • 公司代扣社保为什么是400多余的钱
  • 发票冲红增值税怎么申报
  • 自查补缴的企业怎么处理
  • 营改增是好事还是坏事
  • 关于外债利息的规定
  • 销售产生的磅差入什么科目?
  • 广东省电子税务局app下载
  • 贸易公司给客户开发票
  • 个人设备租赁给公司怎么提供发票
  • 企业所得税营业税金及附加
  • 发票入账后查出金额错误
  • 企业的筹资费用哪里找
  • 国资委是什么
  • 股份制企业的特征主要是什么
  • 小规模公司减免的增值税怎么做账
  • 增值税的滞纳金怎么做账
  • 电脑qq聊天框变成一侧显示的软件版本
  • 工业企业销售收入和产值,税金比例
  • yii2框架从入门到精通
  • 触屏不灵敏怎么调整oppo
  • windows11安装ubuntu20.04
  • 企业所得税年报截止日期2023
  • Smarty3配置及入门语法
  • html关于边框的代码
  • python2打包
  • 将外购商品用于个人消费
  • 汇算清缴管理费用明细有哪些
  • 软件开发费属于什么费用
  • 加权平均资本结构
  • 企业所得税的营业收入包括营业外收入吗
  • 公章损坏如何更换
  • 发票识别
  • 揭秘如何投屏纽约时代广场
  • 社保是当月计提当月交吗
  • sql删除表中的某一行
  • 火车票可以抵扣进项吗
  • 法定盈余公积的主要用途
  • 小规模纳税人应纳税额减征额怎么算
  • 主营业务收入净额在哪个报表里面
  • 对方公司已注销还能起诉吗
  • 已抵扣发票红冲做进项税转出
  • 银行承兑汇票怎么开
  • 端午节发放的现金福利会计处理
  • 未交增值税不用交了
  • 新政府会计固定资产的核算与计量
  • 为什么预付账款可以通过应付账款核算
  • 如何购买车辆交强险保单
  • 备品和备件的定义
  • ubuntu20.04怎么用
  • avsched32.exe是什么进程 avsched32进程有什么作用
  • win10电脑清理磁盘
  • Win10预览版桌面图标和任务栏不翼而飞怎么办?
  • 此电脑右键
  • 如何解除系统默认
  • yum could not resolve host
  • 获取android id
  • jquery选择器的使用
  • shell 判断进程是否存在
  • bat延迟1秒
  • jquery easing
  • jQuery处理XML文件的几种方法
  • Binary XML file line #7: Error inflating class fragment
  • pycharm flask框架
  • 沈阳车辆税务管理局电话
  • 内蒙古国税网上办税厅
  • 财税2016年47号文件中的劳务派遣
  • 审计的起源和发展史
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设