`

Oracle数据库优化要点总结

 
阅读更多
当oracle出现性能缓慢、执行效率低下时,分析调优需从多个角度切入,并逐一优化:

1、SQL语句层面上
   A 注意语句中数据查询表的的顺序调整,大表在前(接近where)小表在后,若多个表关联情况下,应选择当中的关联表作为基表。
   B 语句中尽少使用函数或自定义,尽量避免group by 、having等字句。
   C 过于复杂的逻辑关系语句应分拆成多个sql。
   D 动态SQL时应积极使用绑定变量。(数据量越大,提高的效率越明显)
  

2、数据库优化器的使用
   A  建议尽量避免使用‘选择优化器(CHOOSE)’,而应使用成本(CBO)或规则(RULE)优化器。
   B  针对某些特定SQL可以使用HINT(提示)来指定使用优化器的类型;
       如: select /* +RULE */  from emp;


3、查询分析器(执行计划)及锁对象跟踪
  A 通过查询分析器(Trace) 或者 查询计划sql(1 EXPLAIN PLAN FOR <SQL> ; 2 SELECT * TABLE(XPLAN.display) )来查看执行计划(路径),
    找出消耗较大的几个位置,根据实际情况作调整。
  B 查看是否数据库存在锁对象,存在则酌情将锁对象解决掉。


4、索引使用
   A 对于经常需要全表扫描的数据表,则避免使用索引,这种情况下,索引的存在反而是增加消耗影响效率;
   B 在增删改操作较频繁的表也应该避免使用索引;这种情况下索引会增加15%左右 的消耗,大大的降低效率。
   C 在以查询为主的表中,全表扫描较少使用,的情况下则视实际情况在查询列上建立索引、组合索引、甚至反向索引。
   D 此外需要注意的是,索引列上出现函数或者运算符或空、like 等情况下,将会打破索引,因此在sql语句编写上需注意函数、运算、关键字的使用。


5、分区表
   A 在数据量庞大表时,需考虑分区存放,这涉及到无论是查询还是增删改都将会大大提高效率。
   B 至于使用范围分区、列表分区、散列分区(hash) 还是复合分区,这需要实际的情况而定,详见我另外博文《Oracle 分区简述》。


6、缓冲区(Database buffer cache)
   以上情况外,再者就是适当扩充数据缓冲区,以提高命中率(ratio)。

7、业务逻辑优化
   再后,其实也是最重要点,应考虑是否可在业务逻辑层面上作适当优化,所谓,聪明的懒人一向都是这样,先从高层面上去想问题。



分享到:
评论

相关推荐

    Oracle数据库SQL语句优化要点分析.pdf

    Oracle数据库SQL语句优化要点分析.pdf

    Oracle9i数据库系统优化与调整.pdf

    第8章ORACLE数据库系统优化安装 第9章 项目分析、设计与管理 第10章 数据库结构设计要点 第三部分 ORACLE应用系统开发优化 第12章 优化SQL语句 第13章 数据访问方法 第14章 优化器(Optimizer)简介 第15章 ...

    Oracle数据库管理员技术指南

    1.6.1 利用 Oracle 安装程序创建数据库 1.6.2 使用安装程序创建数据库的注意 事项 1.6.3 怎样建立自己的定制数据库创建 脚本 1.6.4 如何从已有数据库克隆数据库 1.6.5 怎样利用 Database Configuration ...

    Oracle大型数据库系统在AIXUNIX上的实战详解.part1

    实践上,AIX、HP-UX等平台运行Oracle数据库,是诸多大中型系统的典型配置方式——用户得益于Al×等UNIX的坚固支撑,受惠于Oracle可用性保证! AIX UNIX是一套复杂的UNIX系统,Oracle复杂度不在其右,这点毫无疑问! ...

    Oracle大型数据库系统在AIX UNIX上的实战详解.pdf

    说明了该数据库在AIX平台常用的管理内容,提供了AIX上实施Oracle集群的环境要素和实施方法,分析了服务器综合容灾的工程手段和技术方法,综合了在AIX系统上优化Oracle的诸多做法和要点。最后,《Oracle大型数据库...

    Oracle优化日记:一个金牌DBA的故事 白鳝.扫描版

    《Oracle优化日记:一个金牌DBA的故事》是一本介绍Oracle数据库优化方法的书,以一个实际的大型优化项目为原型,用日记的形式记录了一个优化小组的DBA 如何从纷繁的头绪中找到突破口,进而完成了一个看似不可能完成...

    oracle 官方培训

    Oracle数据库培训大纲(2天) 基本内容 时间安排(天) 课程内容要点 基础和管理 1天 Oracle...Oracle数据库优化概述 Oracle的内存优化 数据库配置与IO优化 诊断工具和等待事件 SQL优化原则和案例 Oracle 10g自动SQL调整

    ORACLE数据库DBA面试集锦

    RBO遵循简单的分级方法学,使用15种级别要点,当接收到查询,优化器将评估使用到的要点数目, 然后选择最佳级别(最少的数量)的执行路径来运行查询。  CBO尝试找到最低成本的访问数据的方法,为了最大的吞吐量或最快的...

    Oracle大型数据库系统在AIX/UNIX上的实战详解 文平 教程.part2

    说明了该数据库在AIX平台常用的管理内容,提供了AIX上实施Oracle集群的环境要素和实施方法,分析了服务器综合容灾的工程手段和技术方法,综合了在AIX系统上优化Oracle的诸多做法和要点。最后,《Oracle大型数据库...

    Oracle性能优化技巧.rar

    Oracle性能优化技巧 1 oracle性能调整的十大要点 3 提高Oracle的查询统计速度方法简介 ...oracle数据库:Oracle非法数据库对象引起的错误 24 Oracle优化实例 26 ado.netoracle:ADO.Net实现Oracle大批量数据的更新优化 28

    Oracle大型数据库系统在AIX/UNIX上的实战详解 文平 教程.part1

    说明了该数据库在AIX平台常用的管理内容,提供了AIX上实施Oracle集群的环境要素和实施方法,分析了服务器综合容灾的工程手段和技术方法,综合了在AIX系统上优化Oracle的诸多做法和要点。最后,《Oracle大型数据库...

    Oracle大型数据库系统在AIXUNIX上的实战详解.part2

    说明了该数据库在AIX平台常用的管理内容,提供了AIX上实施Oracle集群的环境要素和实施方法,分析了服务器综合容灾的工程手段和技术方法,综合了在AIX系统上优化Oracle的诸多做法和要点。最后,《Oracle大型数据库...

    ORACLE_优化设计与系统调整(doc)

    第7章ORACLE数据库系统优化安装 111 第8章 项目分析、设计与管理 114 第9章 数据库结构设计要点 133 第10章 表、索引优化管理 142 第三部分 ORACLE应用系统开发优化 146 第11章 诊断与调整工具 146 第12章 优化SQL...

    Oracle大型数据库系统在AIX/UNIX上的实战详解_第2版(文平).part5

    说明了该数据库在AIX平台常用的管理内容,提供了AIX上实施Oracle集群的环境要素和实施方法,分析了服务器综合容灾的工程手段和技术方法,综合了在AIX系统上优化Oracle的诸多做法和要点。最后,本书还以Sybase ASE...

    Oracle大型数据库系统在AIX/UNIX上的实战详解_第2版(文平).part4

    说明了该数据库在AIX平台常用的管理内容,提供了AIX上实施Oracle集群的环境要素和实施方法,分析了服务器综合容灾的工程手段和技术方法,综合了在AIX系统上优化Oracle的诸多做法和要点。最后,本书还以Sybase ASE...

    Oracle 大型数据库系统 For AIX

    说明了该数据库在AIX平台常用的管理内容,提供了AIX上实施Oracle集群的环境要素和实施方法,分析了服务器综合容灾的工程手段和技术方法,综合了在AIX系统上优化Oracle的诸多做法和要点。最后,本书还以Sybase ASE...

    ORACLE9i_优化设计与系统调整

    第8章ORACLE数据库系统优化安装 91 §7.1 应用系统环境规划和Oracle系统安装考虑 91 §7.1.1 操作系统安装考虑 91 §7.1.2 Oracle系统安装考虑 92 §7.2 关于创建多个Oracle实例问题 93 §7.3 Oracle系统安装后的...

    Oracle 9i中文版基础培训教程

    本书是一本专门针对Oracle 数据库技术的基础培训教程。全书精心组织Oracle 数据库初学者需要掌握的知识,循序渐进地介绍... 本书可作为Oracle数据库技术专业培训的教材,也适合初学者自学或作为日常管理工作的参考书。

    Oracle大型数据库系统在AIX/UNIX上的实战详解_第2版(文平).part2

    说明了该数据库在AIX平台常用的管理内容,提供了AIX上实施Oracle集群的环境要素和实施方法,分析了服务器综合容灾的工程手段和技术方法,综合了在AIX系统上优化Oracle的诸多做法和要点。最后,本书还以Sybase ASE...

Global site tag (gtag.js) - Google Analytics