`

oracle 分页 语句

阅读更多

 

1.

select * from (
 select t.* , rownum as rn from (select * from test_ogi )  t where rownum < 28
)  b where b.rn > 20
 

2.

select * from (
 select t.* , rownum as rn from (select * from test_ogi )  t 
)  b where b.rn > 20 and b.rn < 28
 

 

由于CBO优化模式下,oracle可以将外层的查询条件推到内层查询中,以提高内层查询的执行效率。对于第一个查询语句,第二层的查询条件 where rownum <= 40 就可以被 oracle 推入到内层查询中,这样 oracle 查询的结果一旦超过了 rownum 限制的条件,就终止查询将结果返回了。

而第二个查询语句,由于查询条件 在 21,27之间 是存在于查询的第三层,而Oracle 无法将第三层的查询条件推到最内层(即使推到最内层也没有意义,因为内层查询不知道 rn 代表什么)。因此,对于第二个查询语句,oracle最内层返回给中间层的是所以满足条件的数据,而中间层返回给最外层的也是所有数据。数据的过滤在最外层完成,显然这个效率要比第一个查询低得多。

 

 

 

 

 

 

 

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    oracle 分页语句

    本文将详细介绍一个特定的Oracle分页查询语句:“`select * from (select a.*,rownum rn from (select * from tablename) a where rownum) where rn&gt;2`”,并对其背后的原理进行深入探讨。 #### 分页查询语句解析 ...

    java连接数据库的分页语句

    Java 连接数据库的分页语句主要包括连接 Oracle、SQL Server 和 MySQL 数据库的语句,以及连接这些数据库的分页语句。 连接 Oracle 数据库的语句: 使用 Oracle 数据库时,需要使用 Oracle 的 JDBC 驱动程序。首先...

    msql和oracle分页查询语句笔记

    msql和oracle分页查询语句笔记

    oracle sql分页语句

    Oracle SQL分页语句是数据库查询中的一个重要概念,它允许我们从海量数据中按需获取特定范围的结果,比如第一页、第二页等。在Oracle数据库系统中,实现分页查询通常使用ROWNUM伪列或者结合RANK()、DENSE_RANK()、...

    Oracle Sql语句转换成Mysql Sql语句

    2. **分页查询**:Oracle使用ROWNUM进行分页,而MySQL通常使用LIMIT和OFFSET。在转换过程中,需要将Oracle的ROWNUM替换为MySQL的LIMIT子句。 3. **连接查询**:Oracle的JOIN语法允许在ON条件中使用子查询,而在...

    Oracle的分页查询语句 Oracle分页的存储过程

    本文将详细探讨Oracle的分页查询语句及其存储过程。 首先,Oracle的分页查询语句通常遵循一个标准格式,如下所示: ```sql SELECT * FROM ( SELECT A.*, ROWNUM RN FROM ( SELECT * FROM TABLE_NAME ) A WHERE ...

    oracle 分页 很棒的sql语句

    本文将详细介绍 Oracle 分页的实现方法,并提供一个实用的 SQL 语句示例。 分页的必要性 在数据库中,查询结果可能包含大量数据,对于用户来说,浏览大量数据非常不便捷。因此,分页机制就变得非常重要。通过分页...

    Oracle的分页查询语句.docx

    "Oracle分页查询语句详解" Oracle 的分页查询语句是数据库查询中的一种优化手段,用于控制查询结果集的大小,以提高查询效率。在 Oracle 中,分页查询语句可以使用 ROWNUM 和子查询来实现。本文将详细介绍 Oracle ...

    Oracle分页查询语句

    Oracle分页查询语句的学习和示例演练

    oracle分页查询并返回总记录数据存储过程

    ### Oracle 分页查询并返回总记录数据存储过程 在数据库应用开发中,为了提高用户体验以及减少服务器负担,分页查询成为了一种常见的技术手段。Oracle 数据库提供了多种方法来实现分页查询,其中使用存储过程是一种...

    如何解决Oracle分页查询中排序与效率问题

    这是因为 Oracle 在执行 ORDER BY 操作时,会先执行 ORDER BY 语句,然后再进行分页处理。 知识点 3: 解决排序问题的方法 方法一:使用子查询 可以使用子查询来解决排序问题。首先,执行一个子查询来获取所有记录...

    常用oracle查询语句

    Oracle 常用查询语句 本文总结了十个常用的 Oracle 查询语句,涵盖了查看表空间、回滚段、控制文件、日志文件、表空间使用情况、数据库对象、数据库版本、数据库创建日期、归档方式、长时间运行的 SQL 语句和数据表...

    第四章 约束序列分页语句两表联查.pdf

    需要注意的是,文档中的内容由于OCR扫描可能存在问题,诸如“正版正版Oracle分页语句”、“显示6-10条数据”等表述可能由于扫描错误出现重复或不清晰的文字,读者在阅读时需要根据上下文正确理解其含义。 整体来看...

    oracle分页查询

    Oracle 分页查询详解 Oracle 分页查询是指从大型数据表中提取指定范围的记录,以便提高查询效率和减少数据传输量。常用的 Oracle 分页查询方法有三种:使用 ROWNUM、使用 ROW_NUMBER() 和使用子查询。 第一种方法...

    Oracle 分页存储过程

    在Oracle数据库中,分页查询是一项...总的来说,通过精心设计的存储过程,我们可以实现高效的多条件Oracle分页查询,同时确保查询性能不受数据量的影响。在实际应用中,应根据具体情况进行调整和优化,以达到最佳效果。

    Oracle 分页的存储过程

    总结来说,Oracle分页存储过程是通过动态构造SQL语句,结合输入的分页参数,计算出总页数,并返回指定页的数据。这种方式在处理大量数据时提高了效率,同时也提供了灵活的查询控制。通过包装这些逻辑在存储过程中,...

    oracle 分页类文件

    Oracle数据库在处理大数据量时,分页查询是必不可少的功能,它可以有效地提高数据检索效率,减少内存占用,并提供更好的用户体验。本文件包包含了一系列用于实现Oracle数据库分页查询的类,帮助开发者解决分页问题。...

    oracle 分页完整代码

    在Oracle数据库中,分页查询是一项非常常见的操作,特别是在处理大量数据时,为了提高用户体验,我们需要将结果集分块加载,这就是所谓的分页。在这个Java和Oracle结合的分页实现中,我们将探讨如何通过Java后端配合...

    Oracle&JSP分页和Oracle分页

    JSP可以通过Servlet或者JDBC来连接Oracle数据库,执行上述的SQL语句。首先,你需要在JSP页面中创建一个表单,用户可以通过这个表单选择页码。然后,表单提交到Servlet,Servlet处理请求,执行分页查询,并将结果传递...

    28.mysql和oracle的分页语句(着重说思路).avi

    mysql和oracle的分页语句

Global site tag (gtag.js) - Google Analytics