常见的4种分页方法:
1)控件分页,主要工作在前台【软翻页】
后台一次性返回所有数据都交给前台的VO,前台利用类似DataGrid这样的控件,一次性显示一部分,实现分页功能
2)服务层分页,主要工作在后台【软翻页】
前台的查询请求,原样提交给持久层,持久层返回所有结果,服务层保持所有结果,并选择性的反馈给前台其中一页。
前台再发来翻页请求时,不必再向持久层请求查询,而直接从保持的结果中返回其他内容即可。
3)持久层软分页,主要工作在后台【软翻页】
和2的原理类似,但是这次缓存的工作由持久层框架来负责。服务层第一次访问持久层时,持久层对数据库做全件检索,但只给服务层返回第一页的数据。从第二页开始,服务层再对持久层提出请求时,持久层不必再做数据库访问,而直接从缓存中将数据提供给服务层。
4)持久层硬分页,主要工作在后台【硬翻页】
无论你实用什么持久层工具,总之复写它的SQL执行函数,要根据不同数据库实现使用不同的方言。
说白了就是重新拼写SQL文字符串,使SQL文在不改变原有用意的基础上,加上记录条数选择的功能
如:select top 100 from tab; (SqlServer) ,这个 top 100 就是从Bean中的pageSize之类的控制属性取得并拼到SQL文中的
4种方式各有优缺点,各自有不同的实用场景。前3种都是“软翻页”,最后一种是“硬翻页”
1)优点:一次性访问服务器。一次耗时,之后的翻页非常之快
缺点:第一次耗时非常高;且由于数据量的问题,不适用于大规模数据查询;数据实时性不高
2)优点:较之第1种,首次查询耗时大为减少(因为网络传输量大为下降)
缺点:首次耗费在服务器端的查询时间仍然不少;由于数据一次性查出保存在服务层,所以数据的实时性不高
3)基本同2,但由于有些持久层框架已经具备了很好的缓存软翻页功能,使服务层代码的编写不必再多考虑翻页的问题了。
4)优点:查询速度最快;查询的结果实时性最好
缺点:根据不同的数据库所支持的分页查询语法,某些数据库(如Oracle)当查询到倒数几页时,时间耗费几乎与第2种相同;
由于高实时性,可能造成用户在翻页时,漏看数据(如:每页显示100条,用户看第一页时,第101条数据在第二页,所以看不到。在此用打开第一页到翻页到第二页的这段时间里,其他用户删除了前100条数据中的任一一条,此用户看第2页时,刚才的第101条数据现在是第100条了,所以它在第一页而不在第二页,这就导致了此用户漏看数据。有点像论坛顶帖子:)
对于一般商业开发来说,通常在第3和第4种中选择一种。总体来说第4种应该是比较好的选择,优点大于缺点。
分享到:
相关推荐
3. **分页查询**:分页是一种优化大数据量查询的技术,它将结果集分割成多个小块(页面),每次只返回用户请求的一部分数据。这样不仅可以减轻服务器压力,还能减少网络传输的负担,提高响应速度。 4. **C#线程**:...
数据分页是一种在网页上展示大量数据的常见方法,它将结果集分成若干页进行显示,而不是一次性加载所有数据,这大大减少了内存占用,提高了页面加载速度,同时使得用户能够更方便地浏览和管理数据。在Java Web开发中...
### 常见的几种分页语句和方法 在软件开发中,特别是Web应用程序中,数据分页是一项非常重要的技术。它可以帮助我们更高效地处理大量数据,并提高用户体验。本文将详细介绍几种常用的分页方法,包括SQL语句分页、...
在ASP(Active Server Pages)开发中,处理大量数据时,分页是一种常见的优化手段,尤其在展示如文章列表这样的长内容时。本文将详细介绍如何在ASP中实现十万级数据的高效分页,让网页加载更加流畅,提升用户体验。 ...
在JavaWeb开发中,数据分页是常见的需求,特别是在处理大量数据时,为了提高用户体验,避免一次性加载所有数据导致页面响应慢或者内存溢出。本篇文章将深入探讨如何实现基于JavaWeb的数据分页功能。 首先,我们需要...
在SQL Server中,有两种常见的分页查询方法:`ROW_NUMBER()`函数和`OFFSET-FETCH`子句。 1. `ROW_NUMBER()`函数: 使用`ROW_NUMBER()`函数,我们可以为结果集中的每一行分配一个唯一的行号,然后根据这个行号进行...
配置完成后,当你调用如`selectPage`这样的分页查询方法时,MP会自动处理分页逻辑。正常情况下,这将触发两条SQL语句的执行:第一条是计算总记录数,第二条是带有`LIMIT`限制的查询当前页数据的SQL。如果没有配置...
在Java编程中,数据分页显示是Web应用中常见的需求,尤其在处理大量数据时,为了提高用户体验并优化服务器性能,通常需要将数据分成多个页面进行展示。本篇将深入探讨Java实现数据分页显示的核心技术和策略。 首先...
在Oracle 11g中,可以使用SQL查询语言来实现分页,常见的方法是使用ROWNUM伪列结合WHERE子句或者子查询来限制返回的行数。例如,要获取第一页的数据,你可以编写如下的SQL: ```sql SELECT * FROM ( SELECT t.*, ...
本文将详细介绍两种常用的JavaWeb分页方法:基于数据库查询的分页和基于内存的分页。 一、基于数据库查询的分页 1. SQL查询分页: 这种方法直接在SQL查询语句中实现分页。大多数数据库系统如MySQL、Oracle、SQL ...
最常见的方法是使用StartRow和StopRow键来控制查询范围。StartRow指定查询的起始行键,而StopRow则是结束行键。通过设置这两个参数,我们可以有效地实现分页查询。 例如,假设我们有一批行键,按照字典序排序,要...
基础查询分页是最常见的分页方式,它通过在SQL查询语句中添加LIMIT和OFFSET关键字来限制每次请求的数据量。例如,如果每页显示10条记录,第二页的查询会使用OFFSET 10 LIMIT 10。这种分页方法简单易懂,但当数据量很...
Node.js结合MySQL实现分页查询是一种常见的数据处理方式,在Web应用中尤为常见。分页可以有效提高页面的响应速度,并优化用户的浏览体验。本文主要介绍了在Node.js环境下,如何使用MySQL数据库实现分页功能。 首先...
在IT行业中,分页缓存是一种优化大数据量查询性能的技术,尤其在Web应用程序中非常常见。它通过将数据库查询结果存储在内存缓存中,减少对数据库的直接访问,从而提高系统响应速度和用户体验。本篇文章将深入探讨...
在Windows Presentation Foundation(WPF)中,数据分页控件是一种强大的工具,它允许用户以分页方式查看大量数据,从而提高应用程序的性能和用户体验。本文将深入探讨WPF的数据分页控件及其核心概念、使用方法以及...
在IT行业中,分页查询是一种常见的数据管理策略,特别是在处理大量数据时,它能有效提高网页或应用的加载速度和用户体验。"SSH分页查询方法"是指在使用Struts2、Hibernate和Spring三大Java开发框架集成开发时实现的...
在.NET开发环境中,数据分页是一项常见的需求,特别是在构建Web应用程序时,为了提高用户体验和页面加载速度,通常需要对大量数据进行分页显示。本文将深入探讨如何在.NET中实现数据分页系统,包括基本原理、关键...
在Oracle数据库中,分页查询是一项常见的操作,用于在大量数据中检索特定部分,而无需加载整个结果集。本文将详细探讨三种常用的Oracle分页SQL方法:ROWNUM、ROWNUM结合子查询以及新引入的Oracle 12c的FETCH NEXT ...
这两种方法都可以实现分页查询,但JNDI更常见于轻量级应用,而JDBC-AD适合于需要数据库样式的查询操作。 在描述中提到的`ADConnectTest.java`文件可能是一个示例代码,用于演示如何通过编程方式执行AD分页查询。...
本篇文章将深入探讨分页查询的概念、实现原理以及常见方法,以帮助开发者构建更加高效、用户友好的应用程序。 一、分页查询的概念 分页查询是指在处理大量数据时,将其分为多个小块(页),每次只加载一部分数据到...