`
zys08
  • 浏览: 144693 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

常见数据库分页实现方案

 
阅读更多

随着数据库的发展,如今的数据库可以储存大量的数据,内存也是越来越大,但是无论您的内存多大,内存总是显得不够用,这时就要涉及到分页,下文中将为大家带来详细的数据库分页操作:

 

1.Oracle:

select * from ( select row_.*, rownum rownum_ from ( query_SQL ) row_ where rownum =< max) where rownum_ >= min 

 

2.SQL Server:

select top @pagesize * from tablename where id not in (select top @pagesize*(@page-1) id from tablename order by id) order by id

 

 

3.MySQL

 

select * from tablename limit position, counter

 

 

4.DB2

 

select * from (select *,rownumber() as ROW_NEXT from tablename) where ROW_NEXT between min and max 

 

 

分页方案一:(利用Not In和SELECT TOP分页)效率次之

 

SELECT TOP 10 * FROM TestTable WHERE(ID NOT IN (SELECT TOP 20  id FROM  TestTable  ORDERBY  id))   ORDERBYID SELECT  TOP 页大小 * FROM TestTable WHERE( ID NOT IN (SELECT  TOP  每页大小-1*待查询页数-1  id  FROM  表 ORDERBY  id)) ORDERBYID

 

思路:先查询出待查询页之前的全部条数的id,查询ID不在这些ID中的指定数量条数

 

分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高

 

SELECT  TOP  10 *   FROM  TestTable WHERE(ID>(SELECT MAX(id) FROM(SELECT TOP20 id  FROM  TestTable ORDERBYid)AS T))ORDERBY ID SELECT  TOP  页大小* FROM  TestTable WHERE(ID>(SELECT MAX(id) FROM(SELECT TOP 每页大小*待查询页数-1  id FROM 表  ORDERBY id)AS T)) ORDERBY ID 

 

思路:先获得待查询页的之前全部条数id,获得它们当中最大的ID号,以此最大ID号为标志,查找比这个ID号大的指定条数

 

 

分页方案三:

SELECT TOP PageSize * FROM(SELECT TOP nPage*PageSize * from YOURTABLE order by id)as a order by id desc SELECT TOP 每页条数 * FROM (SELECT TOP 待查询页*每页条数) * from YOURTABLE order by id)as a order by id desc 

 

思路:先正排序查询出待查询页之前(包括当前页)的全部条数,然后将其倒排序,取指定条数

 

 

 

原文链接:http://www.cnblogs.com/yongle_tianya/archive/2011/08/02/2125197.html

分享到:
评论

相关推荐

    mysql, oracle等常见数据库的分页实现方案

    1.Oracle:  select * from ( select row_.*, rownum rownum_ from ( query_SQL ) row_ where rownum == min  2.SQL Server:  select top @pagesize * from tablename where id not in (select top @pagesize*...

    php 数据库分页显示

    PHP作为常用的后端开发语言之一,在处理数据库分页方面有着成熟的解决方案。 #### 分页查询的SQL语句 在PHP中实现数据库分页显示的关键在于构造正确的SQL语句。根据题目中的描述,主要使用的SQL语句如下: ```sql...

    通用数据库分页 扩展dbutil (附代码下载)

    在IT行业中,数据库分页是常见的数据检索方法,特别是在处理大量数据时,为了提高用户体验和系统性能,分页显得尤为重要。本主题将深入探讨“通用数据库分页”以及如何通过扩展dbutil工具来实现这一功能。我们将从...

    基于MVC模式的数据库分页显示

    【解决方案】分页显示有两种常见方法:一是通过SQL语句的特定语法直接获取指定范围的数据,但这不具通用性,因为不同数据库的语法差异大;二是使用游标多次查询,每次只获取当前页的数据,这种方法更通用且能提高...

    oracle、mysql数据库分页借鉴.pdf

    本文将详细介绍Oracle、MySQL、SQL Server和DB2这四种常见数据库的分页实现方案。 1. Oracle数据库分页: Oracle采用的是ROWNUM伪列,通过嵌套查询来实现分页。以下是一个示例: ```sql select * from ( select ...

    mysql_海量数据库的查询优化及分页算法方案.doc

    MySQL 海量数据库的查询优化及分页算法方案 在大规模数据库中,查询优化和分页算法是两个非常重要的方面。本文将详细介绍 MySQL 海量数据库的查询优化和分页算法方案。 一、查询优化 查询优化是指通过调整查询...

    JS-数据库page分页样式.rar

    在网页开发中,数据分页是一种常见的用户界面技术,它用于处理大量数据的展示,避免一次性加载所有数据导致页面响应速度变慢或者...实际应用中,开发者需要根据项目需求选择合适的分页方案,确保数据的高效加载和展示。

    oracle、mysql数据库分页

    ### Oracle与MySQL数据库分页实现方案详解 #### 一、Oracle数据库分页 在Oracle数据库中,实现分页查询可以通过多种方法,其中一种常见的方法是使用`ROWNUM`伪列来实现。 **基本原理:** - `ROWNUM`用于标识查询...

    基于Struts框架的Web数据库分页技术

    ### 基于Struts框架的Web数据库...综上所述,基于Struts框架的Web数据库分页技术是一种有效解决大数据量查询分页问题的方案,它结合了框架的优势和分页算法的优化,为开发者提供了一套高效、稳定的数据展示解决方案。

    海量数据库查询优化及分页算法方案

    本文以“海量数据库查询优化及分页算法方案”为主题,结合具体的MS SQL Server数据库实例,探讨了如何高效地从海量数据中进行查询以及实现数据分页。 首先,针对海量数据查询,优化策略主要集中在以下几个方面: 1...

    oracle、mysql数据库分页.pdf

    数据库分页是数据库管理系统中一个常见的操作,尤其是在处理大量数据时,为了提高用户体验,通常需要分批次地加载数据。在Oracle、MySQL、SQL Server和DB2等不同的数据库系统中,分页实现方式有所不同。以下是对这些...

    不同数据库中分页的代码实现

    本文将详细介绍几种常见数据库中的分页实现方式,包括SQL Server、MySQL、DB2以及Oracle。 #### 一、SQL Server 分页实现 SQL Server 提供了多种分页方式,其中一种较为流行的方法是利用 `TOP` 关键字结合 `NOT IN...

    海量数据库的查询优化及分页算法方案

    海量数据库的查询优化及分页算法方案 随着大规模数据库的出现,如何高效地从这些超大容量的数据库中提取数据、分析、统计以及进行数据分页已经成为一个亟待解决的难题。以下我们将探讨如何在有着1000万条数据的MS ...

    SQLServer数据库分页查询

    ### SQL Server 数据库分页查询方法详解 #### 一、背景与问题定义 在实际的数据库操作中,分页查询是非常常见的需求之一。对于大型数据集来说,一次加载所有数据到前端显示是不现实的,这不仅会增加服务器负担,还...

    数据库分页语句.pdf

    数据库分页是数据库查询中常用的一种技术,用于在大量数据中高效地获取特定范围的数据,通常用于实现网页或应用的分页显示。本篇将详细阐述分页语句的使用方法,以SQL Server、MySQL和Oracle为例。 1. SQL Server ...

    海量数据库ASP完美分页代码

    "海量数据库ASP完美分页代码"提供了一种解决方案,它能有效地分批次加载数据,提高页面加载速度,并减少服务器的负担。 分页技术的核心是将大数据集分割成若干个小部分,每次只从数据库中获取一部分数据进行显示。...

    3种数据库分页技术.pdf

    数据库分页技术是数据库管理系统中用于处理大量数据查询时,以分批次的方式返回结果集的一种策略,这有助于提高用户体验并减少服务器的负载。本文将详细探讨三种常见的分页技术,适用于MySQL、SQL Server 2000/2005 ...

    JSP+JavaBean分页实现方案

    总结,通过JSP和JavaBean实现的分页方案,我们可以灵活地在任何支持JDBC的数据库上实现数据分页。这种方式结合了JSP的视图渲染能力和JavaBean的业务逻辑封装,使代码结构清晰,易于维护。但要注意,随着项目复杂度...

    oracle、mysql数据库分页参照.pdf

    以下是针对Oracle、MySQL、SQL Server和DB2这四种常见数据库系统的分页实现方案的详细说明: 1. Oracle数据库: Oracle采用的是ROWNUM伪列来实现分页。以下是一个基本的分页查询示例: ```sql SELECT * FROM ( ...

    Oracle分页实现

    3. **使用分析函数**:对于更复杂的分页逻辑,可以考虑使用窗口函数如ROW_NUMBER()、RANK()或DENSE_RANK(),它们提供了更灵活的分页方案。 4. **缓存机制**:如果数据变化不频繁,可以考虑将分页结果缓存起来,减少...

Global site tag (gtag.js) - Google Analytics