li
  当前位置:主页 > 性能优化 > 文章内容
li
oracle 性能调优:调整数据缓存之其它提高数据缓存性能的方法
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2008-04-27   阅读:18  


将小表CACHE到数据缓存

• 在多个缓存池的配置下,每个缓存池都是由独立的LRU算法来管理的,通常情况下刚存取的块都是放在LRU列表的开始端,而FTS(全表扫描)例外,刚读入的块放在LRU列表的末端;
• 上述算法会产生如下一些困境:CBO在读取一些小表或者读取表中的较多数据时会使用FTS,这时,即使这些表使用频率很高,也会因为上面提到的原因而很快被老化,在下次用到时又得重新读入;
• 为了解决这个难题,引进了Cache表的概念,将表设为Cache后,对表的FTS不再是将块放在LRU列表的末端,而是置于LRU列表的开始端;
• 有下面三种方法将表设为Cache:
ü 创建时指定CACHE关键字:Create table … cache;
ü 更改时指定CACHE关键字:Alter table … cache;
ü 查询时指定CACHE hint:select /*+ cache */ * from …;
• 从DBA_TABLES.CACHE字段可以查到由前两种方法设置的表的CACHE属性。

绕过缓存池
• 下面两种特定的操作可以绕过缓存池,读入的数据块不进入数据缓存,而存放在内存中由用户服务器进程控制的其它区域(UGA,PGA?):
ü Sort Direct Writes(第八章调整IO时会讲到);
ü Parallel DML(由多个服务器进程来执行一个DML操作,只有当系统中有多个CPU,多个IO子系统以及足够内存时才可考虑作这样的设置,并行DML超出本书讨论的范围)。

正确地使用索引
• 不正确的全表扫描会极大地降低数据缓存的命中率,创建正确的索引后可以提高数据缓存性能;
• 建议尽可能地在外键上创建索引,这可以提高多表连接的效率。




  上一篇: oracle 性能调优:调整数据缓存之...   下一篇: oracle 性能调优:调整SGA之共享服...
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·oracle 性能调优:调整数据缓存之...
·oracle 性能调优:调整数据缓存之...
·oracle 性能调优:调整数据缓存之...
·oracle 性能调优:调整数据缓存之...
·oracle 性能调优:调整共享池之改...
·oracle 性能调优:调整共享池之测...
·oracle 性能调优:调整共享池之理...
·oracle SQL性能调整之七: 关于簇
·oracle SQL性能调整之六: 关于分...
·oracle SQL性能调整之五: 关于索...
·oracle 性能调优:调整SGA之共享服...
·oracle 性能调优:调整SGA之共享服...
·oracle 性能调优:调整SGA之配置共...
·oracle 性能调优:调整SGA之测量共...
·oracle 性能调优:调整SGA之改进共...
·oracle 性能调优:调整SGA之大池的...
·oracle 性能调优:调整SGA之Java池...
·如何选择合适的Oracle优化器
·阿里巴巴的DBA成长之路
·oracle性能调优:管理oracle日志之...
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接