mysql oracle和sqlserver分页查询实例解析
作者:动力节点 发布时间:2024-01-24 00:30:29
最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习.....
(一)、mysql的分页查询
mysql的分页查询是最简单的,借助关键字limit即可实现查询,查询语句通式:
selecto.*from(sql)o limit firstIndex,pageSize
如下面的截图,每页显示的记录数为20:
查询(21-40)这20条记录
mysql的分页查询就这么简单......
(二)、sqlserver2005的分页查询
在sqlserver2005之前一直借助top关键字来实现分页查询,不过效率低,在sqlserver2005及其之后的版本都使用row_number()解析函数来完成分页查询,效率有了很大的提高,不过sql语句比较复杂,下面给出分页查询的通式:
selecttoppageSizeo.*from(selectrow_number()over(orderbyorderColumn)asrownumber,*from(sql)asowhererownumber>firstIndex;
下面看截图,每页显示20条记录数:
查询(1-20)这20条记录
查询(21-40)这20条记录
知道了sqlserver中的row_number函数,分页也就简单了.....
(三)、oracle分页查询
接下来重点说说oracle的分页查询,oracle的分页查询方法相对来说要多点,ROWNUM、row_number(),今天主要将两种效率稍好的分页查询语句。
①ROWNUM查询分页通式:
select*from(selecta.*,ROWNUMrn from(sql)a whereROWNUM<=(firstIndex+pageSize))wherern>firstIndex
以下截图是以这种方式进行的查询语句:
查询(1-21)这20条记录*****(没有ID=6的记录,所以查询到的最大ID为21)
查询(22-41)这20条记录*****(没有ID=6的记录,所以开始查询到的ID为22,以及最大ID为41)
②row_number()解析函数分页查询方式:
select*from(select*from(selectt.*,row_number()over(orderbyorderColumn)asrownumberfrom(sql)t) p wherep.rownumber>firstIndex)whererownum<=pageSize
以下截图是使用row_number()方式的分页查询效果:
查询(1-21)这20条记录*****(没有ID=6的记录,所以查询到的最大ID为21)
查询(22-41)这20条记录*****(没有ID=6的记录,所以开始查询到的ID为22,以及最大ID为41)
在ROWNUM查询的方式中,在第二层的sql语句中有个"where ROWNUM<(firstIndex+pageSize)order by idasc
,从数据表中查询出(firstIndex+pageSize)条记录,所以如果这个值很小的话,效率会很好,如果对于大数据量的表单,这个值如果是上千,比如:select* from wyuse where rownum<(5000) order by idasc
,这样一开始会选出5000条记录,效率自然会慢很多....
总结
以上所述是小编给大家介绍的mysql oracle和sqlserver分页查询网站的支持!
来源:http://blog.sina.com.cn/s/blog_9c6852670102wx88.html
猜你喜欢
- 单位收集了很多word格式的调查表,领导需要收集表单里的信息,我就把所有调查表放一个文件里,写了个python小程序把所需的信息打印出来#c
- 本文实例讲述了python中metaclass原理与用法。分享给大家供大家参考,具体如下:什么是 metaclass.metaclass (
- 占位符说明1、%c,格式化字符及其ASCII码2、%s,格式化字符串3、%d,格式化整数4、%u,格式化无符号整数5、%o,格式化无符号八进
- 内容概要:print() 是一个常用函数。那么,您是否注意过,print() 会在显示当前语句后换行。如果遇到需要连续显示、不换行的情况,比
- 启用 SQL Server Browser 服务 在 Windows 防火墙中创建例外 在 Windows 防火墙中为 SQL Server
- CSS执行顺序与优先权的问题其实就是一个冲突解决的问题,当同一个元素(或内容)被CSS选择符选中时,就要按照优先权取舍不同的CSS规则,这其
- Go语言内置int转string至少有3种方式:fmt.Sprintf("%d",n)strconv.Itoa(n)st
- 本文将详细解释这些函数的使用方法。首先,我们介绍Python语言中类似于Windows系统的dir命令的列出文件功能,然后描述如何测试一个文
- Python是一种面向对象的解释型计算机程序设计语言。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU Ge
- 最近仿写一个项目,如下目录,base内部都是一些基础的组件,但是并没有在main.js 中使用常规的方式去全局注册的,刚开始还不明白没有注册
- 前言参考学习书籍:《算法图解》[美]Aditya Bhargava,袁国忠(译)北京人民邮电出版社,2017二分查找 binary_sear
- 在Python中我们主要是通过thread和threading这两个模块来实现的,其中Python的threading模块是对thread做
- mysql中写判断语句的方法:方法一.CASE函数case函数语法:CASE conditionWHEN value1 THEN retur
- 数据库中对数据的操作是一大重要技能,其中,数据的恢复和还原也是常做的事。不知你是否在数据库恢复时遇到诸如“设备激活错误,请使用with mo
- 在Apache, PHP, MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分。对于Discuz!论坛程序也是如此,M
- 1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PH
- 最近在做后台管理系统的时候遇到要使用富文本编辑器。最后选择了ueditor,我的项目使用 vue+vuex+vue-router+webpa
- 前言网络上各大论坛,尤其是一些图片类型的网站上,在图片加载时均采用了一种名为懒加载的方式,具体表现为,当页面被请求时,只加载可视区域的图片,
- 网上看到一些例子,对于一个简单的3 级联动,都加上什么Struts, Hibernate诸如此类的框架。这个Ajax联动殊不知和这些框架有什
- 本文实例讲述了Laravel框架路由管理。分享给大家供大家参考,具体如下:路由中输出视图Route::get('/', fu