首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Oracle数据库的SQL分页模板

Oracle数据库的SQL分页模板

作者头像
彭泽0902
发布于 2018-01-04 15:23:55
发布于 2018-01-04 15:23:55
1.9K0
举报
文章被收录于专栏:C#C#

      在系统开发过程中,需要对数据进行查询,大部分情况下从数据库中查询的数据量比较大,在系统页面无法全部显示,而且查询全部的数据会影响系统的反应速度,需要对所查询的数据进行分页的查询操作,以此减轻系统的压力。

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

        在数据库之外的分页之中,应用层缓存技术分页不可避免地产生大量的网络流量;游标驱动分页在数据库里完成操作,会受到游标技术的影响,使得分页变得“陈旧”

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-11-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档