有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标。本人不喜欢使用游标,我觉得它耗资、效率低;使用存储过程是个不错的选择,因为存储过程是经过预编译的,执行效率高,也更灵活。先看看单条 SQL 语句的分页 SQL 吧。

方法1:
适用于 SQL Server 2000/2005

SELECT TOP 页大小 *
FROM table1
WHERE id NOT IN
(
SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id
)
ORDER BY id

方法2:
适用于 SQL Server 2000/2005

SELECT TOP 页大小 *
FROM table1
WHERE id >
(
SELECT ISNULL(MAX(id),0)
FROM
(
SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id
) A
)
ORDER BY id

方法3:
适用于 SQL Server 2005

SELECT TOP 页大小 *
FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1
) A
WHERE RowNumber > 页大小*(页数-1)

说明,页大小:每页的行数;页数:第几页。使用时,请把“页大小”和“页大小*(页数-1)”替换成数字。

其它的方案:如果没有主键,可以用临时表,也可以用方案三做,但是效率会低。
建议优化的时候,加上主键和索引,查询效率会提高。

通过SQL 查询分析器,显示比较:我的结论是:
分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高,需要拼接SQL语句
分页方案一:(利用Not In和SELECT TOP分页) 效率次之,需要拼接SQL语句
分页方案三:(利用SQL的游标存储过程分页) 效率最差,但是最为通用

SQL Server 2000/2005 数据库分页相关推荐

  1. 从SQL Server 2000/2005到SQL Server 2008的升级测试

    本文部分内容摘自<SQL Server 2008管理实战>,人民邮电出版社:<深入MSSQL 2008升级和应用程序的兼容性>,IT专家网:<SQL Server 200 ...

  2. 实践证明,SQL Server 2000 + 2005 + 2008,完全可以共存

    <!-- google_ad_section_start --> 实践证明,SQL Server 2000 + 2005 + 2008,完全可以共存,注意区别: (1)只要实例名不同即可( ...

  3. Java/JSP中使用JDBC连接SQL Server 2000/2005

    转自:http://hi.baidu.com/huangdonghui/blog/item/87cf4ff47ba653e37609d7e1.html/cmtid/9c82350965721ba22e ...

  4. SQL Server 2000 + 2005 + 2008 + 2008R2,完全可以共存

    http://www.aspku.com/database/mssql/32484.html 实践证明,SQL Server 2000 + 2005 + 2008,完全可以共存,注意区别 (1)只要实 ...

  5. 推荐优秀的SQL脚本调试工具Embarcadero DBArtisan 可以调试SQL Server 2000/2005 SQL调试工具汇总...

    调试SQL语句是经常会碰到的需求,常常为了查找报表的数据是否正确,SQL脚本为什么取不到预想中的数据,一般都可以通过调试SQL语句来解决问题,找到原因.问题不一定是系统的Bug,可能是设置不正确,可能 ...

  6. 在 Visual Studio .NET 中使用 SQL Server 2000 创建数据库应用程序(1)

    适用于:     Microsoft? SQL Server? 2000     Microsoft Visual Studio? .NET 摘要:如何使用 Visual Studio .NET 工具 ...

  7. [解决方案]在Sql Server 2008/2005 数据库还原出现 3154错误

    在Sql Server 2008/2005 数据库还原出现 3154错误 解决方法1:不要在数据库名字上点右键选择还原,而要是在根目录"数据库"三个字上点右键选择还原,然后再选择数 ...

  8. sql2000html,SQL server 2000个人版数据库

    SQL server 2000个人版数据库是一款数据库管理软件,具有使用方便,可伸缩性好与相关软件集成程度高等优点,通过图形化的操作界面问你提供了诸多数据库管理的功能和方案. 功能介绍: 1.高性能设 ...

  9. sql server 2000的数据库还原

    方法一:        企业管理器     --右键"数据库"     --所有任务     --还原数据库     --"还原为数据库库"中输入还原后的数据库 ...

最新文章

  1. php.ini Xdebug配置
  2. 需求分析中应该注意的问题
  3. “GIS讲堂”第二课内容的公布
  4. GlusterFS-Kubernetes云原生存储
  5. 小汤学编程之JavaEE学习day04——EL表达式、JSTL
  6. Map.Entry如何使用?
  7. 白板机器学习笔记 P36-P38核方法
  8. java后台如何国际化,Java SpringMVC实现国际化整合案例分析(i18n)
  9. mysql1232_Mysql执行流程
  10. 十大编程语言排行,Java只能位列第三?
  11. 使用netron对mnist网络结构分析
  12. 文件的文件名翻译重命名技巧操作
  13. [附源码]计算机毕业设计Node.js-报刊征订管理系统(程序+LW)
  14. 【软考】【系统架构设计师】2021上午真题及答案
  15. 国密sm2 js加密后台解密,sm3 js、后台加密,sm4 后台加密
  16. 赫赫有名的杰克·韦尔奇作为通用电气的CEO而享誉全球,他的管理特点就浓缩在这些言语之中,大家可以带着这些观点去读读他的自传和《赢》,吐血推荐哈。
  17. 【自考必看】《信息资源管理》信息化规划与组织,第2章
  18. centos6 安装bbr_centos6 安装 BBR加速教程
  19. 三维电子沙盘虚拟数字沙盘开发教程第9课
  20. 微信小程序上传大视频到七牛云-附七牛优惠码

热门文章

  1. ssh登陆慢/xhell访问主机慢
  2. python可视化报表制作教程_如何使用Python快速制作可视化报表
  3. python网站设计开题报告_网站设计开题报告范文精选5篇
  4. C++ 二进制文件读操作
  5. 2021母婴行业洞察报告
  6. 2021年电竞营销行业半年度报告
  7. 产品经理需要掌握的9种共性推荐策略
  8. 当不同公司的产品经理在一块聊天,会聊什么?
  9. 作者:​光亮(1982-),男,博士,华为技术有限公司高级标准经理。
  10. 作者:陈振冲(1959-),男,博士,香港理工大学学务长,电子计算学系教授...