TODO:数据库优化之分页

mongodb 分页 limit 查询

TODO:数据库优化之分页

本文的例子是以MongoDB数据库为准,其它数据库各位也可以举一反三进行优化。

在MongoDB中分页使用

a.skip(n)跳过前n个匹配的文档;

b.limit(m)返回m个结果,要是匹配的结果不到m个,则返回匹配数据量的结果,m是指定上限数量,而不是下限数量;

c.sort({“name”: 1,”address”:-1}),1表示升序,-1表示降序。

使用skip跳过少量的文档还可以。但是数据量非常多的话,skip就会变得非常慢,每个数据库都会有这种情况,所以要尽量避免过多的使用skip。那要怎么做分页,我们可以利用上次的结果来计算下次的查询。

1.使用skip的分页

Page1 = db.user.find({}).limit(100)

Page2 = db.user.find({}).skip(100).limit(100)

Page3 = db.user.find({}).skip(200).limit(100)

2.利用上次的结果来计算下次的查询,按时间戳(timestamp)排序

获取第一页

Page1 = db.user.find({}).sort({“timestamp”: -1}).limit(10)

获取当前页面的最后一条记录的时间戳lasttimestamp,

根据lasttimestamp进行查询下一页数据

Nextpage=db.user.find({“timestamp”:{“$gt”:lasttimestamp}}).sort({“timestamp”: -1}).limit(10)

这样查询就没有使用到skip,但是要确保timestamp唯一约束确保文档中的数据没有相同的值。


wxgzh:ludong86


相关推荐

  • Oracle DBA优化数据库性能心得体会 微软虚拟化认证东方瑞通很多的时侯,做OracleDBA的我们,当应用管理员向我们通告现在应用很慢、数据库很慢的时侯,我们到数据库时做几个示例的Select也发现同样的问题时,有些时侯我们会无从下手,因为我们认为数据库的各种命种率都是满足Or
  • sqlserver优化数据库几种方法 一、介绍:在数据库的开发过程中,经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作。如果项目的SP较多,书写又没有一定的规范,将会影响以后的系统维护困难和大SP逻辑的难以理解,另外如果数据库的数据量大或者项目对SP
  • Oracle DBA优化数据库性能心得体会 很多的时侯,做OracleDBA的我们,当应用管理员向我们通告现在应用很慢、数据库很慢的时侯,我们到数据库时做几个示例的Select也发现同样的问题时,有些时侯我们会无从下手,因为我们认为数据库的各种命种率都是满足Oracle文档的建议。实
  • 50种方法优化数据库——网上搜的 ps:有关数据库的一些知识个人感觉不错,连接地址:http://www.iteye.com/wiki/topic/460419查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I
  • SQLSERVER海量数据库的查询优化及分页算法(上) SQLSERVER海量数据库的查询优化及分页算法--探讨如何在有着1000万条数据的MSSQLSERVER数据库中实现快速的数据提取和数据分页。以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构:CREATETABLE[dbo]
  • sql数据库优化 sql数据库优化非常重要,如果sql数据库优化的不好,不仅会增加客户端和服务器端程序的编程和维护的难度,而且还会影响系统实际运行的性能。那我们可以从哪些方面来进行sql数据库优化呢?sql数据库优化之一:就是合理的数据库的设计。当前我们使用
  • 三个因素让你明白SEO数据库优化重要性 三个因素让你明白SEO数据库优化重要性在没有出现数据库问题之前,我也和大部分新手一样,无法理解数据库优化的重要性。而当我优化了几十个网站,陆陆续续出现数据库问题的时候,我才越来越体会了数据库优化的重要。做网站,数据库是成功的基础,也是你网站
  • 数据库优化的方法 数据库优化的方法之一:合理的数据库的设计。当前我们使用最多的就是关系型数据库,关系数据库设计是对数据进行组织化和结构化的过程,核心问题是关系模型的设计。对于数据库规模较小的情况,我们可以比较轻松的处理数据库中的表结构。然而,随着项目规模的不
  • 海量数据库的查询优化及分页算法方案(MSSQL) 随着“金盾工程”建设的逐步深入和公安信息化的高速发展,公安计算机应用系统被广泛应用在各警种、各部门。与此同时,应用系统体系的核心、系统数据的存放地――数据库也随着实际应用而急剧膨胀,一些大规模的系统,如人口系统的数据甚至超过了1000万条,
  • 数据库需要怎么优化【育达科技】   在当今信息时代,数据库优化也是非常重要的课题,在此和大家分享一下数据库优化的经验。  一、IO优化  除硬盘硬件性能提升外,数据库也有两种方法来提升磁盘IO访问能力,他们实质都是创建多个数据文件:  一是在物理存储方面,创建数据文件的时
  • mysql数据库性能优化 mysql数据库性能优化(包括SQL、表结构、索引和缓存参数)一、MySQL数据库性能优化之SQL优化注:这篇文章是以MySQL为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础优化目标减少IO次数IO永远是数据库最容易瓶
  • [转]数据库SQL优化大总结之 百万级数据库优化方案 今天在实习单位看数据库的ER图的时候感觉有一处造成了资源的浪费,但是细想一下觉着如果不这么做的话恐怕是会影响查询效率,于是就想找一些数据库优化的文章看一下。发下了这篇不错的文章,贴出来记录一下,以备日后查看。网上关于SQL优化的教程很多,但

你的评论

就没有什么想说的吗?

最新博客

关于我们 免责声明 移动版

©2017传客网    琼ICP备15003173号-2    

本站部分文章来源于互联网,版权归属于原作者。
本站所有转载文章言论不代表本站观点,如是侵犯了原作者的权利请发邮件联系站长(weishubao@126.com),我们收到后立即删除。
站内所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!

X