Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

36

积分

0

好友

14

主题
1#
发表于 2012-6-17 23:28:42 | 查看: 5553| 回复: 7
hi  ML :

     我有个疑问,请问oracle 通过索引访问表时候,当他都取index entry 时候,读入分支块到叶子节点的块,这些块是读入到buffer cache中吗? 他会需要像data block 一样 定位 buffer 中是否存在该block 并获取 latch 呢?
     他是怎么个流程?
thx
2#
发表于 2012-6-17 23:31:28
排除 direct path read ,   index block与 data block 的 buffer cache原理基本都是一致的, 除了一些buffer cache管理的 hot aging 算法之外

回复 只看该作者 道具 举报

3#
发表于 2012-6-18 15:48:54

回复 2# 的帖子

一样存在cache buffer chain latch 征用? 用的也是buffer cache ?

回复 只看该作者 道具 举报

4#
发表于 2012-6-18 20:50:39

回复 3# 的帖子

对!

回复 只看该作者 道具 举报

5#
发表于 2012-6-18 21:03:08

回复 4# 的帖子

以前我在分析我们生产系统时候出现cache buffer chain latch 争用时候,总觉得是datablock 的hot block,也就是说,也有可能是说sql语句中access path 是index 的话,也有可能是index block 造成的hot block ?

回复 只看该作者 道具 举报

6#
发表于 2012-6-18 21:37:38
data block 可能遇到的 hot block  cache buffer busy , latch : cache buffer chain 对于 index block一样适用

所以index 也会有 global hash partition 、 reverse key index 这些技术来避免 hot block

回复 只看该作者 道具 举报

7#
发表于 2012-6-18 21:42:43

回复 6# 的帖子

谢谢 ML 学习了!!!!!!

回复 只看该作者 道具 举报

8#
发表于 2012-6-26 15:43:32
见到的环境中,index造成的hot block比data block 的比重还要多。

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-26 14:59 , Processed in 0.047235 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569