• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >数据库其它 > 分享三种高效率SQL语句分页方法

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了sql语句执行效率,sql语句效率,sql exists in效率,如何提高sql执行效率,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,用来记录每一条数据所在的位置。 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2017-05-11sql注入之新手入门示例详解
  • 2017-05-11本地SQL注射攻略分析曝光
  • 2017-05-11用户管理的备份(一致性备份、非一致性备份、脱机备份、联机备份)
  • 2017-05-11iwms access与sql版的安装与转换
  • 2017-05-11数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较(实例说明)
  • 2017-05-11如何让SQL运行得更快
  • 2017-05-11Sybase数据库sa密码丢失后解决方法
  • 2017-05-11在PostgreSQL中使用日期类型时一些需要注意的地方
  • 2017-08-28PLS-00907: cannot load library unit
  • 2017-05-11如何解决VisualSVN Server 安装提示错误 Repositories is not a valid short file name

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 介绍PostgreSQL中的范围类型特性
    • sql注入之手工注入示例详解
    • 常用SQL语句优化技巧总结【经典】
    • 用户管理的备份(一致性备份、非一致性备份、脱机备份、联机备份)
    • 修改插入时间不匹配问题
    • 数据库中union 与union all 的区别
    • jdbc 数据库的连接(sqlserver oracle)
    • 一个多表查询的SQL语句
    • 深入解析NoSQL数据库的分布式算法(图文详解)
    • 介绍PostgreSQL中的Lateral类型

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有