分页查询的性能

分页主要分为:直接使用ResultSet来处理和定位行集SQL查询。
直接使用ResultSet来处理:

优点:减少了数据库连接对象的多次分配获取,减少了对数据库的SQL查询执行。
缺点:占用数据库访问资源-数据库连接对象,并占用了数据库上的资源-游标;会消耗大量内存;
定位行集SQL查询:
优点:对数据库的访问资源(数据库连接对象,数据库游标等)没有浪费,这些资源的充分重复的利用。
缺点:对每次分页面查询请求要频繁的从Web容器中获得数据库访问资源(数据库连接对象和数据库游标)并建立连接;要依赖于具体的数据库产品的支持。

读取打得数据量的时候,我们首先应该考虑到”缓存“来存储数据,但是我们这里也要注意了当缓存满的时候,我们该如何清楚缓存的数据?以及清楚什么样的数据?

时间: 2024-10-16 10:55:44

分页查询的性能的相关文章

MySQL的limit用法和分页查询的性能分析及优化

申明:本博文转发于 点击链接跳转 一.limit用法在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. SELECT * FROM table LIMIT [offset,] rows | `rows OFFSET offset ` (LIMIT offset, `length`)SELECT*FROM tablewhere condition1 = 0and condition2 = 0and condition3

分页查询的那些坑和各种技巧

背景 从上周开始我就一直在做数据清洗的工作,这次算是体会到了什么叫做“抛开数据量谈实现就是耍流氓”. 我设计方案和调试代码连接的都是日常环境的数据库,里面的单表数据量在百级,无论我怎么实现都是瞬间洗完.到了性能测试的时候用的就是性能库,双 11 之前@W君做性能测试的时候,往里面写入了 2000W 的数据,足够我战个痛快. 深坑 一开始的时候,分页查询用的是 limit 子句,SQL 语句形态如下. select * from table where xxx in (1,2,3) order b

分页查询不知你是否真正的懂和PHP的正则的应用和一些性能优化

一.不废话太多  直接进入例子. 1  问题: 有一张收藏表,里面存储的是用户和图书ID.数据量为1亿.现在要求分页获取所有用户ID(不重复),写下你的sql语句. 表结构大致如下:           CREATE TABLE 收藏表(              `id` bigint(20) unsigned NOT NULL auto_increment COMMENT 'primary key',              `uid` bigint(20) unsigned NOT NU

MongoDB 分页查询的方法及性能

这篇文章着重的讲讲MongoDB的分页查询 传统的SQL分页 传统的sql分页,所有的方案几乎是绕不开 row_number的,对于需要各种排序,复杂查询的场景,row_number就是杀手锏.另外,针对现在的web很流行的poll/push加载分 页的方式,一般会利用时间戳来实现分页. 这两种分页可以说前者是通用的,连Linq生成的分页都是row_number,可想而知它多通用.后者是无论是性能和复杂程度都是最好的,因为只要简单 的一个时间戳即可. MongoDB分页 进入到Mongo的思路,

C#MongoDB 分页查询的方法及性能

传统的SQL分页 传统的sql分页,所有的方案几乎是绕不开row_number的,对于需要各种排序,复杂查询的场景,row_number就是杀手锏.另外,针对现在的web很流行的poll/push加载分页的方式,一般会利用时间戳来实现分页. 这两种分页可以说前者是通用的,连Linq生成的分页都是row_number,可想而知它多通用.后者是无论是性能和复杂程度都是最好的,因为只要简单的一个时间戳即可. MongoDB分页 进入到Mongo的思路,分页其实并不难,那难得是什么?其实倒也没啥,看明白

MySQL分页查询性能优化

当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询.对于数据库分页查询,也有很多种方法和优化的点.下面简单说一下我知道的一些方法. 准备工作 为了对下面列举的一些优化进行测试,下面针对已有的一张表进行说明. 表名:order_history 描述:某个业务的订单历史表 主要字段:unsigned int id,tinyint(4) int type 字段情况:该表一共37个字段,不包含text等大型数组,最大为varcha

HBase多条件及分页查询的一些方法

HBase是Apache Hadoop生态系统中的重要一员,它的海量数据存储能力,超高的数据读写性能,以及优秀的可扩展性使之成为最受欢迎的NoSQL数据库之一.它超强的插入和读取性能与它的数据组织方式有着密切的关系,在逻辑上,HBase的表数据按RowKey进行字典排序, RowKey实际上是数据表的一级索引(Primary Index),由于HBase本身没有二级索引(Secondary Index)机制,基于索引检索数据只能单纯地依靠RowKey.也只有使用RowKey查询数据才能得到非常高

WPF之分页查询

分页查询,很早就听过了,尤其是在"高校"的项目中更是听得比较多,一直想着自己研究一下,看看到底分页查询有什么神秘之处.但是,一直因为自己在做其他的内容,所以一直没有好好的学习一下.现在,做统计查询的时候,因为查询的数据量比较大,差不多一秒一条数据,甚至是一秒钟600条数据的时间查询,所以不得不采用分页查询了. 我们常说的分页查询分为两种.一种是假分页,也就是一次性的把需要的数据全部查出,然后在显示的时候是分页显示的.这样做的好处就是直观的给用户显示出需要的内容,而不用采用滚动条来滚动查

数据库分页查询

分页语句: Oracle: --这种分页查询方式不仅仅是针对单表的简单查询,对于最内层查询是复杂的 --多表联合查询或最内层查询包含排序的情况一样有效 SELECT * FROM ( SELECT ROWNUM RN , T.*  FROM (SELECT * FROM FTNEMR.PATIENT_VISIT) T WHERE ROWNUM <= 40 ) WHERE RN >= 21 ORDER BY PATIENT_ID; --这种方式比上面的方式要性能要低很多 SELECT * FRO