`

oracle查询优化学习

阅读更多

oracle

rownum:分页查询时可用伪列rownum,rownum只支持<,<=,!=,  所以分页查询需要使用子查询

例子:

 select * from (select t.*, ROWNUM RN from table t ) a where a.RN between 5 and 10

 

rownid:表中每行数据都有唯一的地址标志

查询数据时,根据条件索引时,将查询该条数据的rowid返回,再回表查询该条rowid所在数据的数据。

所以,当select的字段都能在索引项时,则不需要再回表查询。

当然,一张表建立过多的索引也不是解决查询的根本

所以在大数据量查询时,若能取到具体分页数据的rowid,相信查询的效率会高很多

例1:

select row_.*, rownum rownum_

                  from (select t.*, ROWNUM rn

                          from table t

                         where create_time >= to_date('2016-10-19 00:00:00', 'yyyy-mm-dd hh24:mi:ss')

                         order by id) row_

 

                 where  row_.rn between 4000 and 5000

例2:

select b.*

  from (select rn

          from (select row_.*, rownum rownum_

                  from (select rowid rn

                          from table t

                         where create_time >=

                               to_date('2016-10-19 00:00:00',

                                       'yyyy-mm-dd hh24:mi:ss')

                         order by id) row_

                 where rownum <= 5000)

         where rownum_ > 4000) a,

       table b

 

 where rn = b.rowid order by id

 

通过查看执行计划,两条sql查询无论从扫描数据的行数,消耗内存,耗时等因素例2则高很多

 

参考:

http://blog.csdn.net/lang_man_xing/article/details/7353789

http://blog.csdn.net/chenxizhiyi/article/details/6331849

 

分享到:
评论

相关推荐

    Oracle查询优化改写 技巧与案例.pdf

    Oracle查询优化是数据库管理中的重要环节,它直接关系到数据库的性能和响应速度。针对Oracle数据库的查询优化,本文件提供了丰富的技巧和案例分析,以帮助读者深入理解优化原理,并能在实际工作中学以致用。 首先,...

    《Oracle查询优化改写技巧与案例》PDF版本下载.txt

    通过对《Oracle查询优化改写技巧与案例》相关内容的深入探讨,我们不仅了解了Oracle查询优化的基本原理和技术要点,还学习了一些实用的技巧和方法。希望这些知识能够帮助读者更好地理解和掌握Oracle查询优化的核心...

    Oracle查询优化改写-技巧与案例

    Oracle查询优化是数据库管理中的关键技能,尤其是在处理大型数据集时,有效的查询优化能显著提升系统性能,降低资源消耗。...通过学习,读者能够提升其在Oracle数据库性能优化方面的专业能力,实现更高效的数据处理。

    【oracle】oracle查询优化改写

    在Oracle中,查询优化主要依赖于查询改写和优化器的选择。 查询改写是Oracle数据库优化策略的一部分,它允许数据库在执行查询前对SQL语句进行重写,以选择更高效的方式。这通常涉及利用索引、连接顺序调整、子查询...

    Oracle 查询优化,个人练习

    Oracle查询优化是数据库管理中的关键技能,尤其是在处理大型数据集时,有效的查询优化能显著提升系统性能,降低资源消耗。本实践主要关注如何利用Oracle数据库的特性...不断学习和实践是成为Oracle查询优化大师的关键。

    oracle性能优化学习

    Oracle性能优化是数据库管理的关键环节,它涉及到SQL语句的优化、优化器的选择以及数据库的内存管理和资源利用。以下是对这些知识点的详细说明: 1. 优化器选择:Oracle提供了三种优化器,即RULE(基于规则)、COST...

    oracle性能优化学习心得

    Oracle性能优化是一个复杂而精细的过程,它涉及到数据库的多个层面,包括硬件配置、数据库设计、SQL语句优化以及系统参数调整。以下是对标题和描述中所述知识点的详细说明: 一、优化总原则 1. 系统使用情况的监控...

    ORACLE查询优化

    在数据库管理领域,ORACLE查询优化是至关重要的一个环节,它直接影响到数据库系统的性能和效率。...通过不断学习和实践,我们可以不断提升ORACLE查询优化的能力,从而更好地服务于我们的业务需求。

    Oracle查询优化改写技巧与案例.rar

    通过学习和实践这些优化技巧,可以有效地提高Oracle查询性能,降低系统负载,提升整体应用的运行效率。在实际工作中,每个案例都需要结合具体情况进行分析,找出最适合的优化方案。不断学习和掌握新的优化技术,将使...

    jiaozhu.zip 教主 Oracle SQL改写优化 2.0版

    教主Oracle SQL高级查询优化改写完美培训视频 2.0版,这个我参与培训的,包含视频、SQL文件、教学文档内容完整,分享给大家学习,共同努力进阶转型开发DBA,人称教主,做sql改写十多年了,sql改写功底很强!

    Oracle查询优化.rar

    Oracle查询优化是数据库管理中的重要环节,它涉及到提高数据库性能,减少资源消耗,提升系统响应速度等关键问题。Oracle数据库作为世界上最广泛使用的数据库系统之一,其查询优化技术具有丰富的理论和实践价值。以下...

    Oracle查询优化改写 技巧与案例

    在数据库管理领域,Oracle查询...通过学习“Oracle查询优化改写 技巧与案例”,可以系统性地提升数据库管理技能,确保数据库系统高效稳定运行。实际工作中,应不断实践、调整和测试,以找到最适合当前系统的优化方案。

    ORACLE学习笔记之调节性能优化篇

    Oracle数据库性能优化是数据库管理员和开发人员日常工作中不可或缺的部分,它涉及到查询优化、资源管理、系统调整等多个方面。本文主要围绕ORACLE数据库的性能优化,特别是如何通过不同的方式来追踪和分析SQL语句的...

    Oracle性能优化与故障诊断案例分享

    Oracle数据库性能优化与故障诊断是数据库管理中极为重要的两个方面,它们直接关系到企业业务系统的稳定运行和性能表现。在这篇文章中,我们将详细探讨针对Oracle数据库性能问题和故障的诊断案例,并分享如何通过案例...

    性能优化案例分析与Oracle语句优化53个规则详解

    在"Oracle语句优化53个规则详解"中,可能包括了如何避免全表扫描、合理使用索引、减少表连接、优化子查询、避免在where子句中使用否定操作符等多方面的内容。例如,通过使用绑定变量可以避免硬解析,提高SQL执行效率...

    Oracle性能优化学习心得

    本文将基于标题和描述中的内容,详细介绍Oracle性能优化的学习心得。 一、优化总原则 1. 系统监控:了解系统整体使用情况至关重要,包括CPU占用、内存消耗、I/O读写等。Oracle 10G引入的ADDM(Automatic Diagnostic...

    Oracle性能优化求生指南

    ### Oracle性能优化求生指南 #### 一、Oracle数据库性能优化概述 在现代企业环境中,Oracle数据库因...通过学习本书提供的方法论和技术点,你将能够更加自信地面对各种挑战,并有效地提高Oracle系统的整体性能水平。

    Oracle SQL优化实例讲解.pdf

    1. Oracle查询优化改写技巧与案例 Oracle数据库是一个功能强大且广泛使用的数据库系统,其中SQL查询优化是一个核心主题。在进行查询优化时,一个重要的方法是改写查询语句,以使得数据库执行计划更高效。改写技巧...

Global site tag (gtag.js) - Google Analytics