`
boss5518831534
  • 浏览: 230617 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

oracle 语句优化总结

阅读更多
oracle 语句提高查询效率的方法
一、1:.. where column in(select * from ... where ...);
2:... where exists (select 'X' from ...where ...);
第二种格式要远比第一种格式的效率高。在Oracle中可以几乎将所有的IN操作符子查询改写为使用EXISTS的子查询
使用EXISTS,Oracle系统会首先检查主查询,然后运行子查询直到它找到第一个匹配项,这就节省了时间
Oracle系统在执行IN子查询时,首先执行子查询,并将获得的结果列表存放在在一个加了索引的临时表中
二、避免使用having字句
避免使用HAVING子句, HAVING 只会在检索出所有记录之后才对结果集进行过滤. 这个处理需要排序,总计等操作. 如果能通过WHERE子句限制记录的数目,那就能减少这方面的开销。
三、
WHERE子句中的连接顺序
     ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾
四、SELECT子句中避免使用 ' * '
     当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 '*' 是一个方便的方法。不幸的是,这是一个非常低效的方法。实际上,ORACLE在解析的过程中,会将'*' 依次转换成所有的列名,这个工作是通过查询数据字典完成的,这意味着将耗费更多的时间。
五、用TRUNCATE替代DELETE
     当删除表中的记录时,在通常情况下,回滚段(rollback segments ) 用来存放可以被恢复的信息。如果你没有COMMIT事务,ORACLE会将数据恢复到删除之前的状态(准确地说是恢复到执行删除命令之前的状况)。
     而当运用TRUNCATE时,回滚段不再存放任何可被恢复的信息。当命令运行后,数据不能被恢复。因此很少的资源被调用,执行时间也会很短。
六、尽量多使用COMMIT
     只要有可能,在程序中尽量多使用COMMIT,这样程序的性能得到提高,需求也会因为COMMIT所释放的资源而减少
     COMMIT所释放的资源:
     A、 回滚段上用于恢复数据的信息。
     B、被程序语句获得的锁。
     C、 redo log buffer 中的空间。
     D、ORACLE为管理上述3种资源中的内部花费。
七、统计记录行数
count(column)>count(1)>count(*)(从效率上对比) 网上有的说count(*)的效率要比count(1)要稍快,我个人认为count(1)的效率要快
八、当在SQL语句中连接多个表时,请使用表的别名并把别名前缀于每个Column上。这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误。
九、模糊查询的时候 用内部函数instr()代替%
十、表连接时,吧数据量大的表作为基表
分享到:
评论

相关推荐

    oracle语句优化总结

    Oracle语句优化是数据库管理中的重要环节,它可以显著提升数据库的性能和效率。以下是对标题和描述中涉及的几个关键知识点的详细说明: 1. **选择最有效的表名顺序**:在FROM子句中,Oracle从右到左处理表名。基础...

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

    本文将深入探讨"性能优化案例分析与Oracle语句优化53个规则详解"这一主题,涵盖Oracle语句优化、数据库优化以及SQL优化的关键知识点。 首先,Oracle语句优化是提升系统性能的核心手段之一。在"Oracle语句优化53个...

    超酷30个Oracle语句优化规则详解

    ### 超酷30个Oracle语句优化规则详解 #### 一、选用适合的Oracle优化器 在Oracle数据库中,优化器的选择对于查询性能至关重要。Oracle提供了三种优化器模式来帮助用户根据实际情况选择最合适的执行计划: 1. **...

    update语句的优化-oracle .pdf

    在本篇文档中,作者详细总结了在实际项目中针对Oracle数据库的update语句优化的四种方案。以下是对这四种方案的知识点进行详细的阐述: 1. 标准update语法优化: 当面对单表更新或较简单的SQL语句时,可以直接使用...

    oracle语句优化53个规则详解

    ### Oracle语句优化53个规则详解 #### 一、选用适合的ORACLE优化器 在Oracle数据库中,语句优化对于提升查询性能至关重要。优化器的选择直接影响到查询计划的质量,进而影响整体性能。 **1.1 ORACLE的优化器类型*...

    ORACLE数据库SQL语句编写优化总结

    总结以上内容,ORACLE数据库SQL语句的编写优化涉及多方面知识,包括优化器的合理选择、高效的表访问方法、共享SQL语句的使用、索引的正确配置和应用、SQL内部操作的处理以及低效SQL语句的识别与优化等。在实际操作中...

    ORACLE SQL语句优化总结

    【ORACLE SQL语句优化总结】 在Oracle数据库中,SQL语句的优化是提升系统性能的关键环节。以下是一些常见的优化策略: 1)选择最有效的表名顺序:Oracle的解析器按照FROM子句中表的右到左顺序处理,基础表...

    Oracle语句优化规则汇总

    ### Oracle语句优化规则详解 #### 一、选用适合的Oracle优化器 Oracle数据库提供了三种优化器模式,分别是基于规则的优化器(RULE)、基于成本的优化器(COST)和选择性优化器(CHOOSE)。这三种模式的选择对SQL...

    ORACLE数据库SQL语句编写优化总结.rar

    这份"ORACLE数据库SQL语句编写优化总结"文档很可能是对如何提高SQL查询性能、减少资源消耗以及提升系统整体效率的详细阐述。以下是根据标题和描述推测的一些关键知识点: 1. **查询优化基础**: - **索引的使用**...

    Oracle DB优化总结

    【Oracle DB优化总结】 在数据库管理系统中,Oracle Database(Oracle DB)因其稳定性和高性能而备受赞誉,但随着数据量的增长,优化数据库性能显得至关重要。本文将深入探讨Oracle DB的优化策略,包括优化器的选择...

    oracle的SQL语句调优总结

    oracle的SQL语句调优总结,Oracle语句优化53个规则详解。

    Oracle Sql语句优化总结.doc

    Oracle SQL语句优化是提高数据库性能的关键,以下是对给定文件内容的详细解释和扩展: 1. **选择最有效率的表名顺序**:在FROM子句中,表的处理顺序是从右到左,基础表(记录条数最少的表)先被处理。在多表连接...

    Oracle语句优化53个规则详解

    ### Oracle语句优化53个规则详解 #### 1. 选用适合的ORACLE优化器 在Oracle数据库中,优化器的选择对于SQL语句的执行效率有着至关重要的影响。优化器负责决定SQL语句的最佳执行计划,即如何访问数据、使用哪些索引...

    Oracle常用语句-总结文档汇总

    "Oracle常用语句-总结文档汇总"提供了丰富的资源,涵盖了SQL语句的基础到进阶应用,包括列行转换、SQL性能优化等多个关键知识点。 首先,列行转换是数据处理中常见的需求,Oracle提供了多种方法来实现这一操作。...

    oracle语句经验总结

    Oracle语句经验总结主要涉及了Oracle数据库的基本操作和SQL语句的使用,下面将详细解析这些知识点。 1. 创建数据库:Oracle中创建数据库的过程相对复杂,通常需要通过Oracle Database Configuration Assistant ...

Global site tag (gtag.js) - Google Analytics