分享三种高效率SQL语句分页方法

 更新时间:2011年09月09日 17:18:27   作者:  
分享三种高效率SQL语句分页方法,需要的朋友可以参考下。
1.如果有一个自动增长的id字段,则:

定义二个变量:Page,PageCount

Select top PageCount * From [tb_code] Where id>=(select min(id) from (select top (Page-1)*PageCount+1 id from [tb_code] order by id desc) as t) order by id desc

原理,根据ID计算出(Page-1)页的最小值,然后用TOP关键字及可解决问题。


2.SELECT TOP 10 id,username From [tb_code] where id not in
( SELECT TOP 20000 id FROM tb_code ORDER BY username)

优点:此方法可以根据表中的任一个字段排序,在一个表中有几百万条记录时,仍有很高的效率,缺点是在大数据量的情况下效率略逊于第一种


3.SELECT TOP 10 id,username From
(SELECT TOP page*pagecount id, username FROM tb_code ORDER BY username)
DERIVEDTBL ORDER BY username DESC

优点:此方法可以根据表中的任一个字段排序.
缺点是效率最低


在SQL Server 2005中使用rownum分页(rownum函数使用方法介绍)

比方说要从表USER中查看第10到第20条之间的数据,那么SQL是这样实现的

SELECT * FROM (SELECT rownum rowcount,USER.* FROM USER) WHERE ROWCOUNT >=10 AND ROWCOUNT <20

其中函数ROWNUM,用来记录每一条数据所在的位置。

相关文章

  • 识别 MS SQL 各个版本的版本号的方法

    识别 MS SQL 各个版本的版本号的方法

    识别 MS SQL 各个版本的版本号的方法...
    2007-10-10
  • SQL查询的优化技巧详解

    SQL查询的优化技巧详解

    这篇文章主要介绍了SQL查询的优化技巧详解,查询优化的本质是让数据库优化器为SQL语句选择最佳的执行计划。一般来说,对于在线交易处理(OLTP)系统的数据库,减少数据库磁盘I/O是SQL语句性能优化的首要方法,需要的朋友可以参考下
    2023-07-07
  • pgsql binlog监听功能点解析

    pgsql binlog监听功能点解析

    这篇文章主要为大家介绍了pgsql binlog监听功能点解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • OLEDB和ODBC的区别(优缺点)

    OLEDB和ODBC的区别(优缺点)

    ODBC是一种连接数据库的开放标准,OLEDB(对象链接和嵌入数据库)位于ODBC层与应用程序之间. 在你的ASP页面里,ADO是位于OLEDB之上的应用程序. 你的ADO调用先被送到OLEDB,然后再交由ODBC处理
    2012-09-09
  • 如何用DeepSeek获取数据库中的表信息(表名和字段名称)

    如何用DeepSeek获取数据库中的表信息(表名和字段名称)

    这篇文章主要介绍了如何利用DeepSeek模型结合数据库查询,自动生成表结构信息,通过自然语言描述,让DeepSeek自动生成对应的SQL查询,从而实现对数据库结构的智能化探索,需要的朋友可以参考下
    2025-02-02
  • Access转SqlServer的注意事项

    Access转SqlServer的注意事项

    Access转SqlServer的注意事项,需要的朋友可以参考下。
    2007-02-02
  • JDBC 数据库常用连接 链接字符串

    JDBC 数据库常用连接 链接字符串

    JDBC 数据库常用连接 链接字符串,经常用各种数据库的朋友可以参考下。
    2009-07-07
  • Access和SQL Server里面的SQL语句的不同之处

    Access和SQL Server里面的SQL语句的不同之处

    做了一个Winform的营养测量软件,来回的捣腾着Access数据库,还是那几句增删改查,不过用多了,发现Access数据库下的SQL语句和SQL Server下正宗的SQL还有有很大的不同。
    2009-12-12
  • 关于hive中SQL的执行原理解析

    关于hive中SQL的执行原理解析

    这篇文章主要介绍了关于hive中SQL的执行原理解析,Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能,需要的朋友可以参考下
    2023-07-07
  • 数据库中union 与union all 的区别

    数据库中union 与union all 的区别

    当我们要对两个或两个以上的表进行操作时。我们经常会用到union 与union all
    2009-11-11

最新评论