当前位置:  数据库>oracle

剖析怎样选择Oracle优化器使你事半功倍

    来源: 互联网  发布时间:2017-03-17

    本文导语:   本文分析如何选择Oracle优化器使你事半功倍。   1. 选用适合的Oracle优化器   Oracle的优化器共有3种:   a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性)。   设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参...

  本文分析如何选择Oracle优化器使你事半功倍。

  1. 选用适合的Oracle优化器

  Oracle的优化器共有3种:

  a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性)。

  设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS 。你当然也在SQL句级或是会话(session)级对其进行覆盖。

  为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,以增加数据库中的对象统计信息(object statistics)的准确性。

  如果数据库的优化器模式设置为选择性(CHOOSE),那么实际的优化器模式将和是否运行过analyze命令有关。如果table已经被analyze过, 优化器模式将自动成为CBO , 反之,数据库将采用RULE形式的优化器。

  在缺省情况下,Oracle采用CHOOSE优化器, 为了避免那些不必要的全表扫描(full table scan), 你必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器。

  2. 访问Table的方式

  Oracle 采用两种访问表中记录的方式:

  a. 全表扫描:

  全表扫描就是顺序地访问表中每条记录。Oracle采用一次读入多个数据块(database block)的方式优化全表扫描。

  b. 通过ROWID访问表:

  你可以采用基于ROWID的访问方式情况,提高访问表的效率, ROWID包含了表中记录的物理位置信息。Oracle采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系。通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高。


























    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Java和.NET剖析工具 YourKit
  • Java程序剖析工具 JIP
  • Java剖析工具 JProfiler
  • 关于linux完全注释和完全剖析。
  • 关于赵炯内核完全剖析一书中引导扇区代码的疑问
  • docker中文入门学习手册 iis7站长之家
  • 刚看完《Linux内核完全剖析》,接下来看什么书好呢?
  • Java接口和抽象类的区别深入剖析
  • lkd,ulk,ldd,《完全注释(剖析)》,《情景分析》这几本书该按什么顺序看?
  • 数组和指针的区别深入剖析
  • C++ Vector用法深入剖析
  • 全局静态存储区、堆区和栈区深入剖析
  • MFC程序执行过程深入剖析
  • ADO.NET数据连接池剖析
  • GetChar缓存机制深入剖析
  • android Watchdog 实现剖析
  • CSS的margin边界叠加深度剖析图文演示
  • Assert(断言实现机制深入剖析)
  • 深度剖析使用python抓取网页正文的源码
  • 你真的了解触发器么 数据实时同步更新问题剖析


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3