位置: 编程技术 - 正文

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简单使用)

  • 劳务公司一般纳税人可以抵扣进项税吗
  • 准予扣除的税金及附加怎么算
  • 简易计税方法和免税该怎么选择
  • 代扣代缴增值税是什么意思
  • 销售使用过的固定资产放弃减税
  • 预计净残值影响减值准备吗
  • 劳务派遣的开票规范
  • 增值发票每月上报是怎么个程序吗
  • 汽车销售服务费增值税税率
  • 小微企业免税销售额和未达起征点销售额
  • 增值税发票在邮寄途中丢了怎么办
  • 存货期末结存量的公式
  • 固定资产替换公式
  • 销售发票红冲会计分录怎么做?
  • 土地前期开发费用计征契税
  • 工业混合销售行为如何纳税?
  • 税法是否认可低税收
  • 土地使用税是由出租方还是承租方交
  • 税收分类编码格式
  • 税盘被锁应该怎么办?
  • 小微企业可以抵税吗
  • 商贸公司开办费用
  • 退税发票勾选后增值税附表二
  • 子公司评估增值 出售股权
  • 积分兑换内容
  • 客户到款打到子公司账上如何转回
  • 差旅费报销单填写模板
  • 旅行社开具的发票能否作废
  • 申报工伤的流程及时间
  • 坏账准备增加记什么方
  • 小规模企业交纳印花税吗
  • 地下车库怎么缴费
  • 分公司使用总公司业绩投标
  • 硬盘损坏类型
  • 收到合同款
  • 土地出让金土地使用税
  • 企业支付宝收到钱到哪里
  • 企业之间拆借资金
  • 企业生产经营管理费用包括
  • 不得税前扣除的项目有哪些
  • php采集系统
  • webpack--》webpack底层深入讲解,从初识到精通,真正实现从0到1的过程
  • GPT-4 手画设计稿 直接生成前端页面
  • 临时工享受的福利有哪些
  • percona-toolkit对MySQL的复制和监控类操作教程
  • 出口企业为什么免税又退税
  • 个体户不刻公章也要报税吗
  • 公司滞纳金员工承担怎么做账
  • 综合单价税率调整如何结算
  • 工程附加税税率
  • 公司分期付款购车如何做账
  • 工程一般挂靠取得的收入怎么做账?
  • 现金流量表是指现金还是银行存款
  • 品牌代理费计入什么科目
  • 小规模纳税人每个季度超过了30万怎么办
  • 贷款公司如何确定利率
  • 如何远程连接小米摄像头
  • mysql5.7.22安装
  • linux 详解
  • windows么
  • Windows 8.1 with Update MSDN简体/繁体中文原版下载地址与安装密匙
  • winpatrol.exe - winpatrol是什么进程
  • win8怎么切换hdmi
  • iis搭建php环境
  • ubuntu命令行调节音量
  • centos7安装中文包
  • win10自带绘画
  • ssh远程安装软件
  • win7升级win8.1
  • win7唤醒后屏幕黑屏
  • 用<TABLE>语句来实现圆角表格可以省去制作圆角图片之苦!
  • android webview获取文本
  • shell脚本可以使用的引号
  • python3中raw_input的用法
  • 简约时尚搭配
  • 税控盘的服务费如何申报抵扣
  • 三证合一后还有税务登记证吗?
  • 违法的税务记录怎么消除
  • 甘肃税务局电子发票怎么开
  • 甘肃省35条措施的内容是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设