《Oracle数据库的SQL分页模板》
2015-11-19 09:38
471 查看
在系统开发过程中,需要对数据进行查询,大部分情况下从数据库中查询的数据量比较大,在系统页面无法全部显示,而且查询全部的数据会影响系统的反应速度,需要对所查询的数据进行分页的查询操作,以此减轻系统的压力。
在Oracle数据库中,如何完成分页SQL的编写,影响着系统开发的速度,特提供两个SQL的分页模板:
(1).采用oracle的内置函数ROWNUM。(ROWNUM是结果的伪列,仅仅当聚集结果时产生,但早于排序或聚合)
select <columns I actually want>,rownum r
from (select <colums I actually want> from table name order by Group name) where rownum<= The number of rows;
(2).采用oracle的内置函数ROW_NUMBER。
select <desired columns> (select <desired columns>,row_number() over (oeder by <ordering column>)r
from <source table,view,etc>) where r between :page-start-row and :page-end-row
备注::page-start-row 页起始行 :page-end-row 页结束行
在数据库之外的分页之中,应用层缓存技术分页不可避免地产生大量的网络流量;游标驱动分页在数据库里完成操作,会受到游标技术的影响,使得分页变得“陈旧”
在Oracle数据库中,如何完成分页SQL的编写,影响着系统开发的速度,特提供两个SQL的分页模板:
(1).采用oracle的内置函数ROWNUM。(ROWNUM是结果的伪列,仅仅当聚集结果时产生,但早于排序或聚合)
select <columns I actually want>,rownum r
from (select <colums I actually want> from table name order by Group name) where rownum<= The number of rows;
(2).采用oracle的内置函数ROW_NUMBER。
select <desired columns> (select <desired columns>,row_number() over (oeder by <ordering column>)r
from <source table,view,etc>) where r between :page-start-row and :page-end-row
备注::page-start-row 页起始行 :page-end-row 页结束行
在数据库之外的分页之中,应用层缓存技术分页不可避免地产生大量的网络流量;游标驱动分页在数据库里完成操作,会受到游标技术的影响,使得分页变得“陈旧”
相关文章推荐
- Oracle触发器使用
- oracle去重
- 解决oracle 11G exp 不能导出空表问题
- Oracle+struts2实现用户登入并显示访问次数
- 什么叫做Oracle RAC中的nodename
- oracle排序,出现页数不同数据却重复问题的原因及解决办法
- oracle索引总结
- 如何让dapper支持oracle游标呢?
- oracle去重等基础问题
- ORACLE ORA22922 不存在的LOB值解决方法
- Oracle ubuntu 下快速安装
- Oracle Linux: Error "Missing Or Invalid IPv4 Prefix '0' On Linux Server" (文档 ID 1522095.1)
- 查看Oracle的实例
- Oracle 自定义结构(Record) 记录
- Oracle存储过程中的异常处理
- oracle系统包——dbms_job用法(oracle定时任务)
- PFILE和SPFILE介绍
- ORACLE PL/SQL 字符串函数、数学函数、日期函数
- Navicat V11 连接 oracle 11g 的问题
- oracle添加和查看注释