CREATE TABLE [TestTable] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[Country] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Note] [nvarchar] (2000) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
插入数据:(100万条)
SET IDENTITY_INSERT TestTable ON
declare @i int
set @i=1
while @i<=1000000
begin
insert into TestTable([id], FirstName, LastName, Country,Note) values(@i, 'FirstName_XXX','LastName_XXX','Country_XXX','Note_XXX')
set @i=@i+1
end
SET IDENTITY_INSERT TestTable OFF

------------------------------------
分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECT TOP 页大小 *
FROM TestTable
WHERE (ID NOT IN
(SELECT TOP 页大小*页数 id
FROM 表
ORDER BY id))
ORDER BY ID

-------------------------------------
分页方案二:(利用ID大于多少和SELECT TOP分页)
SELECT TOP 页大小 *
FROM TestTable
WHERE (ID >
(SELECT MAX(id)
FROM (SELECT TOP 页大小*页数 id
FROM 表
ORDER BY id) AS T))
ORDER BY ID
分页方案三:(利用SQL的游标存储过程分页)
create procedure XiaoZhengGe
@sqlstr nvarchar(4000), --查询字符串
@currentpage int, --第N页
@pagesize int --每页行数
as
set nocount on
declare @P1 int, --P1是游标的id
@rowcount int
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
select ceiling(1.0*@rowcount/@pagesize) as 总页数--,@rowcount as 总行数,@currentpage as 当前页
set @currentpage=(@currentpage-1)*@pagesize+1
exec sp_cursorfetch @P1,16,@currentpage,@pagesize
exec sp_cursorclose @P1
set nocount off
分享到:
相关推荐
本文将详细介绍两种常用的JavaWeb分页方法:基于数据库查询的分页和基于内存的分页。 一、基于数据库查询的分页 1. SQL查询分页: 这种方法直接在SQL查询语句中实现分页。大多数数据库系统如MySQL、Oracle、SQL ...
java几种分页方法java几种分页方法java几种分页方法 java几种分页方法java几种分页方法java几种分页方法 java几种分页方法java几种分页方法java几种分页方法 java几种分页方法java几种分页方法java几种分页方法
DataList分页技巧方法 DataList分页技巧方法是一种实现DataList和Repeater控件的分页显示的方法。该方法使用PagedDataSource类来实现分页显示。PagedDataSource类是ASP.NET提供的一个功能强大的类,用于实现数据...
本篇文章将深入探讨C#中实现分页的几种常见方法,并提供实践指导。 一、SQL Server 分页 在与SQL Server数据库进行交互时,我们可以利用SQL查询语句中的`OFFSET-FETCH`或`TOP`结合`WITH TIES`来实现分页。例如,...
### 一种高效的ASP+ACCESS分页方法 #### 知识点概述 在Web开发中,尤其是在使用ASP(Active Server Pages)结合ACCESS数据库进行网站构建的过程中,分页技术是非常重要的一个环节。传统的分页方法虽然简单易懂,但...
在Oracle数据库中,分页查询是一项常见的操作,用于在大量数据中检索特定部分,而无需加载整个结果集。本文将详细探讨三种常用的Oracle分页...在实际应用中,应根据数据量、查询复杂度和数据库版本选择合适的分页方法。
### 数据库分页方法 在处理大量数据时,分页技术是提高用户体验、优化系统性能的重要手段之一。本文将深入探讨数据库分页的基本概念、原理以及实现方式,并通过具体的SQL语句示例来帮助读者更好地理解和掌握这一...
数据库 分页 web编程 最佳的数据库分页方法
通用分页方法接口的设计旨在提供一种标准化的、可复用的解决方案,使得不同的数据访问层(如数据库查询、API调用等)都能够方便地进行数据分页操作。下面我们将详细探讨这个主题。 一、分页的基本概念 分页是指将...
### Java通用分页方法解析与应用 在Java开发中,特别是在Web应用中,分页功能是数据展示中不可或缺的一部分。合理的分页不仅能够提升用户体验,还能优化服务器性能,避免一次性加载大量数据导致的延迟和资源消耗。...
ACCESS 数据库大数据量分页的几种方法比较及测试结果分析 本文解决的问题:1.ACCESS 是否存在更有效率的分页方法?2.现有 ACCESS 大数据量 10 万条数据分页的效率测试3.ACCESS 的数据承载量到底有多大? ACCESS ...
这个通用的分页方法优点在于解耦了业务逻辑和页面展示,提高了代码的可维护性和复用性。在实际应用中,可以根据项目需求进行扩展,例如添加缓存策略、优化性能等。 为了更好地理解这一通用方法,你可以查看提供的...
在ASP(Active Server Pages)开发中,处理大量数据时,分页是一种常见的优化手段,尤其在展示如文章列表这样的长内容时。本文将详细介绍如何在ASP中实现...在实际开发中,应根据项目需求和资源限制灵活应用这些方法。
综上所述,这个"可重用的MVC分页方法"案例通过纯手工的方式展示了如何在ASP.NET MVC中实现分页,同时强调了代码的可复用性和易维护性。通过学习这个案例,开发者可以更好地掌握MVC架构下分页功能的实现技巧。
在提供的文件列表中,"page1.jpg"和"page2.jpg"可能是示例分页效果的截图,而"调用函数分页_分页方法不错_带省略号"可能是一个包含具体代码实现的文本文件。通过分析这些文件,可以更深入地理解如何在实际项目中应用...
本篇文章将详细探讨两种常见的分页方法:假分页和LIMIT分页。 首先,我们来理解什么是假分页。假分页通常在前端实现,它并不涉及数据库级别的分页操作。假分页的工作原理是,服务器一次性获取所有数据,然后在...
本文对五种分页显示方法进行了测试和比较,结果表明,选择合适的分页方法可以提高 Web 应用系统的性能。实验结果如下: | 方法 | 数据规模 | 平均响应时间 | | --- | --- | --- | | 方法 1 | 100 | 0.05s | | 方法 ...
综上所述,不同的分页方法各有优劣,选择哪种方法取决于具体的业务场景和性能要求。一般来说,如果数据量较小或对性能要求不高,可以考虑使用第一种方法。如果数据量较大且ID分布较为均匀,推荐使用第二种方法。而...
通过`mysql.createConnection()`方法创建连接实例,并配置相应的数据库设置。然后执行SQL查询,使用`LIMIT`子句限制查询结果的数量,使用`OFFSET`子句跳过前`num*(current_page-1)`条数据,实现分页功能。 在回调...