`
jitaguizhao
  • 浏览: 150798 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

分页方法比较

    博客分类:
  • java
阅读更多
CREATE TABLE [TestTable] (
 
[ID] [int] IDENTITY (11NOT 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两中分页方法

    本文将详细介绍两种常用的JavaWeb分页方法:基于数据库查询的分页和基于内存的分页。 一、基于数据库查询的分页 1. SQL查询分页: 这种方法直接在SQL查询语句中实现分页。大多数数据库系统如MySQL、Oracle、SQL ...

    java几种分页方法

    java几种分页方法java几种分页方法java几种分页方法 java几种分页方法java几种分页方法java几种分页方法 java几种分页方法java几种分页方法java几种分页方法 java几种分页方法java几种分页方法java几种分页方法

    DataList分页技巧方法

    DataList分页技巧方法 DataList分页技巧方法是一种实现DataList和Repeater控件的分页显示的方法。该方法使用PagedDataSource类来实现分页显示。PagedDataSource类是ASP.NET提供的一个功能强大的类,用于实现数据...

    c#分页方法整理,c#语言

    本篇文章将深入探讨C#中实现分页的几种常见方法,并提供实践指导。 一、SQL Server 分页 在与SQL Server数据库进行交互时,我们可以利用SQL查询语句中的`OFFSET-FETCH`或`TOP`结合`WITH TIES`来实现分页。例如,...

    一种高效的ASP+ACCESS分页方法

    ### 一种高效的ASP+ACCESS分页方法 #### 知识点概述 在Web开发中,尤其是在使用ASP(Active Server Pages)结合ACCESS数据库进行网站构建的过程中,分页技术是非常重要的一个环节。传统的分页方法虽然简单易懂,但...

    Oracle 3种分页SQL方法比较

    在Oracle数据库中,分页查询是一项常见的操作,用于在大量数据中检索特定部分,而无需加载整个结果集。本文将详细探讨三种常用的Oracle分页...在实际应用中,应根据数据量、查询复杂度和数据库版本选择合适的分页方法。

    数据库分页方法

    ### 数据库分页方法 在处理大量数据时,分页技术是提高用户体验、优化系统性能的重要手段之一。本文将深入探讨数据库分页的基本概念、原理以及实现方式,并通过具体的SQL语句示例来帮助读者更好地理解和掌握这一...

    最佳的数据库分页方法

    数据库 分页 web编程 最佳的数据库分页方法

    通用分页方法接口.rar

    通用分页方法接口的设计旨在提供一种标准化的、可复用的解决方案,使得不同的数据访问层(如数据库查询、API调用等)都能够方便地进行数据分页操作。下面我们将详细探讨这个主题。 一、分页的基本概念 分页是指将...

    java一个通用的分页方法

    ### Java通用分页方法解析与应用 在Java开发中,特别是在Web应用中,分页功能是数据展示中不可或缺的一部分。合理的分页不仅能够提升用户体验,还能优化服务器性能,避免一次性加载大量数据导致的延迟和资源消耗。...

    ACCESS数据库大数据量分页的几种方法比较及测试结果分析

    ACCESS 数据库大数据量分页的几种方法比较及测试结果分析 本文解决的问题:1.ACCESS 是否存在更有效率的分页方法?2.现有 ACCESS 大数据量 10 万条数据分页的效率测试3.ACCESS 的数据承载量到底有多大? ACCESS ...

    sturts +hernate+ spring分页通用方法

    这个通用的分页方法优点在于解耦了业务逻辑和页面展示,提高了代码的可维护性和复用性。在实际应用中,可以根据项目需求进行扩展,例如添加缓存策略、优化性能等。 为了更好地理解这一通用方法,你可以查看提供的...

    asp十万级数据分页方法 长文章分页方法

    在ASP(Active Server Pages)开发中,处理大量数据时,分页是一种常见的优化手段,尤其在展示如文章列表这样的长内容时。本文将详细介绍如何在ASP中实现...在实际开发中,应根据项目需求和资源限制灵活应用这些方法。

    可重用的MVC分页方法(ASP.NET MVC)

    综上所述,这个"可重用的MVC分页方法"案例通过纯手工的方式展示了如何在ASP.NET MVC中实现分页,同时强调了代码的可复用性和易维护性。通过学习这个案例,开发者可以更好地掌握MVC架构下分页功能的实现技巧。

    调用函数分页_分页方法不错_带省略号

    在提供的文件列表中,"page1.jpg"和"page2.jpg"可能是示例分页效果的截图,而"调用函数分页_分页方法不错_带省略号"可能是一个包含具体代码实现的文本文件。通过分析这些文件,可以更深入地理解如何在实际项目中应用...

    关于Mysql分页的两种方法,假分页和limit分页

    本篇文章将详细探讨两种常见的分页方法:假分页和LIMIT分页。 首先,我们来理解什么是假分页。假分页通常在前端实现,它并不涉及数据库级别的分页操作。假分页的工作原理是,服务器一次性获取所有数据,然后在...

    PHP中数据列表分页方法研究.pdf

    本文对五种分页显示方法进行了测试和比较,结果表明,选择合适的分页方法可以提高 Web 应用系统的性能。实验结果如下: | 方法 | 数据规模 | 平均响应时间 | | --- | --- | --- | | 方法 1 | 100 | 0.05s | | 方法 ...

    SQL分页语句的三种方法的比较

    综上所述,不同的分页方法各有优劣,选择哪种方法取决于具体的业务场景和性能要求。一般来说,如果数据量较小或对性能要求不高,可以考虑使用第一种方法。如果数据量较大且ID分布较为均匀,推荐使用第二种方法。而...

    nodejs mysql 实现分页的方法

    通过`mysql.createConnection()`方法创建连接实例,并配置相应的数据库设置。然后执行SQL查询,使用`LIMIT`子句限制查询结果的数量,使用`OFFSET`子句跳过前`num*(current_page-1)`条数据,实现分页功能。 在回调...

Global site tag (gtag.js) - Google Analytics