当前位置: 传客网 > TODO:数据库优化之分页

TODO:数据库优化之分页

2016-12-02 作者:一个TODO

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优化的教程很多,但

  • sql2000数据库检测错误,分配页PFS_PAGE页首结构值无效

    sql2000数据库检测错误,分配页PFS_PAGE页首结构值无效客户名称云南省*电气股份公司联系人林先生服务方式快递送修故障类型sql2000数据库检测出错整机类型台式机介质类型3.5英寸硬盘介质品牌希捷接口类型SATA介质容量160GB

  • ADO存取数据库时如何分页显示

    什么是ADO存取数据库时的分页显示?如果你使用过目前众多网站上的电子公告板程序的话,那你应该会知道电子公告板程序为了提高页面的读取速度,一般不会将所有的帖子全部在一页中罗列出来,而是将其分成多页显示,每页显示一定数目的帖子数,譬如20条。这

  • 详解Oracle数据库优化方案与实践

    在这里我们将介绍Oracle数据库优化方案与实践,不同的环境会有不同的调试,但是也会有差别,希望大家能合理的吸收。一、前言二、ORACLE数据库优化概述1、内存等参数配置的优化2、减少物理读写的优化3、批量重复操作的SQL语句及大表操作的优

  • 【转】数据库性能优化

    在数据库成熟应用的时代,数据库的性能优化已经演变为一项相当严密的系统工程。数据库优化需要考虑两个问题:在设计之前的全局规划和在设计阶段的风险规避。数据库性能优化需要考虑的第二件事情是要在设计时就做好风险规避。和其他IT基础组件一样,数据库性

  • Mysql数据库性能优化之缓存参数优化--转载

    数据库属于IO密集型的应用程序,其主要职责就是数据的管理及存储工作。而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级。所以,要优化数据库,首先第一步需要优化的就是IO,尽可能

  • MySQL数据库性能优化之缓存参数优化

    在平时被问及最多的问题就是关于MySQL数据库性能优化方面的问题,所以最近打算写一个MySQL数据库性能优化方面的系列文章,希望对初中级MySQLDBA以及其他对MySQL性能优化感兴趣的朋友们有所帮助。数据库属于IO密集型的应用程序,其主

  • 面向程序员的数据库访问性能优化法则 (转)

    面向程序员的数据库访问性能优化法则特别说明:1、本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识;2、本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观

  • Oracle数据库优化【转】

    Oracle数据库优化的方案和实践1、内存等参数配置的优化对于大多数应用来说,最直接、最快速得到优化收益的,肯定属于内存的优化。给每个Oracle内存块分配合理的大小,可以有效的使用数据库。通过观察各种数据库活动在内存里的命中率,执行情况,

返回
顶部