您的位置:首页 > 数据库 > Oracle

《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 页结束行

在数据库之外的分页之中,应用层缓存技术分页不可避免地产生大量的网络流量;游标驱动分页在数据库里完成操作,会受到游标技术的影响,使得分页变得“陈旧”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: