首页
技术基础
备份恢复
SQL优化
诊断案例
BLOG
留言板
服务
生活
网摘
阅读
下载
墨天轮
English
eygle.com - 留言簿 - 发表留言 - Powered by eYgLe.Com
返回留言簿
删 除 留 言
管理密码:
请输入管理密码, 只有版主才能删除留言.
编 辑 留 言
管理密码:
请输入管理密码, 只有版主才能编辑留言.
昵称:
性别:
帅哥
美女
不告诉你
Email:
来自:
QQ:
主页:
信息图标: ( 随机 )
BB 代码:
字体
宋体
黑体
隶书
楷体
幼圆
Arial
颜色
天蓝
品蓝
蓝色
深蓝
橙色
橙红
深红
红色
砖红
暗红
绿色
灰绿
海绿
粉红
果红
桃红
紫色
紫蓝
棕木
沙褐
土黄
深褐
土绿
灰色
大小
1号
2号
3号
4号
5号
留言给(谁?):
内容:
盖老师 昨天我问了你这个问题 “ 在Oracle 8i之前,_db_block_hash_latches的数量和Bucket的数量是一致的,每个Latch管理一个Bucket;从Oracle8i开始每个latch需要管理多个Bucket,由于每个Bucket上的 Buffer数量大大降低,所以Latch的性能反而得到了提高 ” 请问这个结论“由于每个Bucket上的 Buffer数量大大降低,所以Latch的性能反而得到了提高 ” 我感觉实在不能明显的“由于”然后“所以”出来啊 过去是一个Bucket对应一个latch,假设一个Bucket下挂100个BH 那么就是一个latch控制100个BH 假设现在是2个Bucket对应1个latch,一个Bucket下挂50个BH 那么依然是 一个latch控制100个BH(2*50) 所以性能并没有提升啊 To: etl2007 你这种假设的状况可能永远不会出现,所以还是性能提升了。 原来的Bucket数量是buffers/4,现在是buffers*2,你很难见到Hash碰撞了。 对于您的答复,我还是不很理解,我依然有下面的疑问 例如过去一个 Bucket 下挂100个BH,假设 对应的是1到100这100个data block 同时因为一个Latch控制一个1个Bucket, 那么我们可以认为一个Latch控制1到100这100个数字 但是到了现在,假设现在是2个Bucket对应1个latch,一个Bucket下挂50个BH 那么依然是 一个latch控制100个BH(2*50) 我理解的“hash算法的不同”导致的结果只能是这样 过去这个latch是控制1到100这100个data block,现在因为算法不同 顶多变成了控制 1到50,450到500这5个数据块(或者更加分散,例如1到30,350到400,631到700;诸如此类情况),但是注意,此时一个latch控制的数目并没有变,只是控制数据块的内容变了。 但这从算法的角度,查询的复杂度依然是一致的。既然如此,那么又何来性能的提升呢?[B][/B]
Copyright © 2003~2012
eygle.com
All Rights Reserved.
Powered by:
www.eygle.com