位置: 编程技术 - 正文

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

  • 使用权资产和租赁负债的计税基础
  • 跨区域涉税事项报验
  • 公立幼儿园保育员好进吗
  • 外商投资的企业是民营企业吗
  • 个人所得税隔月交么
  • 企业所有者权益科目有哪些
  • 当月没有收入,发生的人工和费用怎么办
  • 无形资产计税基础怎么算
  • 科目余额转到其他科目
  • 核定征收企业怎么分红的
  • 企业作为二房东要交什么税
  • 政府性搬迁补偿收入的税务处理
  • 银行如何做存款
  • 预付房租收到发票后如何做账
  • 劳务派遣公司工作内容描述
  • 小企业营业外支出
  • 企业发票入账冲销流程
  • 企业购买的衣服会计分录
  • 电梯增值税率是多少
  • 教育附加费和地方教育附加费的计算
  • 体检合同属于什么合同
  • 为什么预计负债是递延所得税资产
  • 运输发票的税率有几种
  • 向关联企业借款债资比
  • 2019年化妆品
  • 资本公积弥补亏损规定
  • 华为手机蓝牙传送照片到苹果手机
  • win8系统怎么关闭防火墙
  • 私立医院执行什么会计准则
  • 金银首饰在哪个软件买
  • 房产增值税计算公式2022最新
  • linux操作系统文件系统
  • data.dataloader
  • phple
  • 关于 ChatGPT 必看的 10 篇论文
  • 委托开发和购买开发
  • 账面价值账面余额摊余成本
  • 红字信息表必须要原件吗
  • 商品发生销售退回
  • sql server2012使用方法
  • 出口收入没有及时申报怎么处罚
  • 研发支出属于什么要素
  • 加油费用属于什么科目明细
  • 银行收到工伤保险费怎么做分录
  • 企业未按照规定报送年度报告怎么办
  • 长期股权投资全部亏损汇算清缴怎么填
  • 税务开票系统怎么开票
  • 新成立公司会计要做哪些事情
  • 出纳提取现金的业务流程
  • 研发支出的帐务处理
  • 增值税科目设置成多栏式还是三栏式好
  • sql语句汇总数据
  • windows update client
  • 通过注册表删除脱机打印机
  • windows临时文件在哪里
  • 如何设置让自己手机号处于关机状态
  • nalntsrv.exe - nalntsrv是什么进程 有什么用
  • Win10 Mobile Build 10586.xx将持续更新 WP8.1用户可直升最新版
  • 短链接生成app
  • win7系统配置怎么设置
  • windows7怎么打开注册表
  • win7系统添加右键菜单在哪里设置
  • 关于模型视图变化的说法
  • LayoutInflater.inflate方法解析
  • 简单 粗暴
  • 很不错的词语
  • js基础有哪些
  • jquery 设置css
  • js 文件缓存
  • nodejs 内存不断增长
  • css选择器教程
  • 关于js的描述错误的是
  • jquery添加节点
  • android点击事件onclick用法
  • javascript简明教程
  • JQuery解析XML数据的几个简单实例
  • python优先级顺序
  • 净缴税什么意思
  • 耕地占用税 湖北
  • 个人独资企业如何避税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设