Oracle数据库的SQL分页模板

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

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CodingToDie

MySql Hash 索引

Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 ...

2523
来自专栏Java技术

数据库分库分表策略的具体实现方案

:http://blog.csdn.net/xlgen157387/article/details/51331244

934
来自专栏刁寿钧的专栏

10 分钟梳理关系数据库基础知识(六) : 连接的算法与代价

每天10分钟,用去食堂吃饭的时间解决一个知识点。本文复习下做等值JOIN时不同的连接方式与代价,通过粗略的估算给大家一个直观的认识。

1640
来自专栏mini188

数据库SQL,NoSQL之小感悟

遇到1000万数据表 最近遇到一个问题,就是单表数据过1000万的存储及查询问题。举个例子:1000万的数据存在一个表中,字段4-5个样子,日常 开发中难免要做...

16910
来自专栏Java工程师日常干货

从程序员的角度深入理解MySQL前言数据库基本原理探索MySQL索引背后的原理SQL优化神器:explain

作为一名工作了4年的程序猿,今天我将站在程序员的角度以MySQL为例探索数据库的奥秘!

543
来自专栏数据和云

性能优化:监控索引的使用情况

黄玮(Fuyuncat),资深 Oracle DBA,从事 Oracle 数据库管理、维护与开发工作十余年,有丰富的大型数据库设计、开发与维护方面的经验,博客w...

3386
来自专栏用户2442861的专栏

数据库经典问题

原文  http://blog.csdn.net/fangjian1204/article/details/39085941

933
来自专栏性能与架构

mysql 大数据量的分页优化

使用limit进行分页,翻到10000多页后效率低 原因 limit offset 会逐行查找,是先查询再跳过 优化思路 (1)从业务逻辑 不允许翻过100页,...

3485
来自专栏CDA数据分析师

【干货】大数据量下,58同城mysql实践!

WOT(World Of Tech)2015,互联网运维与开发者大会将在北京举行,会上58同城将分享《大数据量下,58同城mysql实战》的主题,干货分享抢先看...

2109
来自专栏Linyb极客之路

浅谈高性能数据库集群——分库分表

最近学习了阿里资深技术专家李运华的架构设计关于分库分表的教程,颇有收获,总结一下。

875

扫码关注云+社区