`
mncc
  • 浏览: 54251 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【TOM旧博客内容转移】Oracle分页

阅读更多

来TOM上的blog挂掉了,现在准备看能找到多少。。。准备把技术相关的全部转到JAVAEYE上边来。。。恨死TOM了。。

 

 

原发表日期:2008-04-10 

 

 

 

 

Oracle分页

 

 

我实在是不知道在一般情况下Oracle是怎么分页的。我觉得大概都是用ROWNUM吧。。。。。。

前些天的数据库笔试(尤其是东软的),我觉得真的的是很难啊。。。。很多的东西都不知道。。。有的学的时候也只是稍微提了一下。。。。。。还是差得很远啊。。。。

我是不知道在实际工作中到底经常用不用这些东西。。。不过说句实话。。。我没有在太大的公司呆过。。。他们一般写东西都使用Hibernate、Ibatis之类的还用。。。尤其是Hibernate,一般的分页查询他都是写好的。

在用Hibernate的时候显示出来的用于分页的句子:

SELECT t.ROWNUM, t* FROM(
        SELECT t.ROWNUM, t.* FROM TABLE_NAME t
        WHERE t.ROWNUM<341
)WHERE t.ROWNUM>335;

ROWNUM是ORACLE的一个“伪列”,顾名思义,就是说其实在一列是不存在于实际的表中的。。。。。。。在一列是在查询之后才给每一结果加上去的。。。也就是说。。。你要是直接查“SELECT t.ROWNUM, t.* FROM TABLE_NAME t WHERE t.ROWNUM>15”这句话是没有任何的意义的。。。。ROWNUM是在结果查出来以后赋值上去的。。。要是这样子写的话永远也没有结果的。。。。。不过要是查ROWNUM=1的话是有一个结果的。。。。。比1大的自然数就不行了。。。

但是如果遇到要按照某一列进行排序的话。。。好像就比较麻烦了。。。。。

我知道的情况是这样子的:
(假设表里有ID字段按照ID排序查出第115条到145条的的记录)

SELECT t.ROWNUM, t* FROM(
        SELECT t.ROWNUM, t.* FROM(
              SELECT t.* FROM TABLE_NAME t ORDER BY t.ID DESC
        )
        WHERE t.ROWNUM<341
)WHERE t.ROWNUM>335;


好想看起来很繁琐。。。不过我也不清楚其他的方法了。。。。。。。

好像也可以用WHERE t.ROWNUM BETWEEN 335 AND 341,不过我认为速度上可能还是要比上边的慢。。。。

分享到:
评论

相关推荐

    tom kyte oracle pdf

    ### Tom Kyte 的《Oracle 对于专业人士》书籍概览 **书名:** Oracle 对于专业人士 (Expert One-on-One Oracle) **作者:** Tom Kyte **出版社:** DiaSoft **出版年份:** 2003 年 **页数:** 672 页 **国际...

    Oracle大师Tom_Kyte的好书,鼎力推荐

    Oracle大师Tom_Kyte的好书,鼎力推荐

    TomKyte[1].Effect.Oracle.Design.zip_oracle_oracle高效设计_tom ch01bb

    《Tom Kyte的Oracle高效设计》是一本深受数据库管理员和开发者推崇的经典著作,它深入探讨了如何优化Oracle数据库以实现卓越的性能。Tom Kyte,被誉为Oracle界的权威,以其深厚的专业知识和实践经验,为读者提供了...

    ask tom Oracle学习

    大名鼎鼎的tom先生的问题总结,2011年总结的内容,很好很强大

    TOM大师脚本

    "Tom大师脚本"是一个专为Oracle数据库设计的高级脚本集合,由Oracle社区中的知名专家Tom Kyte,也就是我们通常所说的"TOM"所编写。Tom Kyte以其深入的数据库知识和实践经验闻名,他的工作对许多数据库管理员和开发...

    Oracle expert one-on-one

    《Oracle专家一对一》是Oracle领域的权威著作,作者Oracle Tom以其深厚的专业素养,全面解析了Oracle数据库的核心知识。这本书深入浅出地介绍了Oracle的物理结构、逻辑结构以及调优技术,对于想要深入理解Oracle...

    oracle学习有用网址

    Julian Dyke是一位知名的Oracle专家,他的博客涵盖了Oracle数据库的多个方面,包括性能优化、故障排除、SQL技巧等高级主题。通过阅读Julian Dyke的文章,你可以深入了解Oracle数据库内部机制,学习如何更高效地管理...

    Oracle 20c 概念手册

    3. 手册的主作者包括Lance Ashdown, Tom Kyte和Joe McCormack,这些人都有可能是Oracle公司内部的高级数据库专家或顾问,他们的名字在Oracle数据库社区可能具有很高的知名度。同时,文档的贡献者名单非常长,包含多...

    精通oracle体系结构

    《精通Oracle体系结构》是Tom大师的一部经典之作,它深入浅出地解析了Oracle数据库的核心构造和工作原理。Oracle数据库作为全球广泛使用的大型企业级数据库管理系统,其强大的功能和复杂的内部架构对于IT专业人士来...

    Expert One on One Oracle

    这本书是Oracle界的经典之作,最初是基于Oracle8i进行写作的,现在Tom已经出版了基于Oracle9i/Oracle10g的升级版,书名为《Oracle Database Architecture 9i and 10g Programming Techniques and Solutions》,现在...

    oracle高效设计中英文版一套

    《Oracle高效设计》是数据库领域的一本经典著作,由Tom Kyte撰写,他在Oracle社区有着极高的声誉。这本书深入探讨了如何在Oracle数据库系统中实现高效的设计和优化,旨在帮助数据库管理员和开发人员提高SQL查询性能...

    oracle concepts

    该文档为Oracle初学者提供了学习Oracle数据库基本机制的资料,由Lance Ashdown和Tom Kyte主笔,并有来自Oracle及其合作伙伴的众多专家参与编写和贡献。内容覆盖了Oracle数据库的多个核心概念和基础知识点。 文档...

    effective oracle by design

    effective oracle by design tom 的经典oracle书籍 完整扫描pdf版

    如何切割tomtom地图

    在使用TomTom GPS导航设备时,有时可能会遇到购买的地图数据包过大,无法一次性完整安装到设备上的情况。本文将详细讲解如何使用TomTom HOME软件来分割和安装大容量的国外地图,以便适应设备的存储限制。 首先,...

    Oracle-sql-Performance-Tuning-30Tips.rar_oracle_tom kyte

    "Oracle SQL Performance Tuning 39Tips" 提供了由Oracle专家Tom Kyte精心总结的30个SQL优化技巧,这些技巧旨在帮助用户提升数据库查询速度,减少资源消耗,提高系统整体性能。 1. **索引优化**:Tom Kyte强调了...

    Oracle体系结构

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其强大的功能和稳定性深受企业青睐。本文将深入探讨Oracle的体系结构,旨在帮助读者理解其核心组件、工作原理以及数据存储方式。 Oracle体系结构主要...

    Oracle 项目管理

    Oracle项目管理方法手册是Oracle公司于1999年发布的官方文档,版本为2.6.0,由Claire Bateman和Tom Heimburger担任主要作者,Rudy Corsi、Andy Coster等多位专家参与贡献。该手册详细阐述了Oracle项目管理的核心理念...

    Oracle技术人才在各个行业分布岗位

    ### Oracle技术人才在各行业的分布与薪资状况 随着信息技术的发展,Oracle数据库因其高效稳定的特点,在全球范围内被广泛应用。Oracle技术人才作为IT领域的专业人才,在众多行业中扮演着至关重要的角色。根据来自...

    oracle编程艺术

    《Oracle编程艺术》是Oracle全球顶级专家Tom的作品,这本书深入浅出地揭示了Oracle数据库的体系结构和工作原理,被誉为理解Oracle技术的宝典。Tom以其丰富的经验和深厚的理论基础,为读者提供了一条通向Oracle编程...

Global site tag (gtag.js) - Google Analytics