|
|
原帖由 foreverlee 于 2008-3-21 00:34 发表 ![]()
挺好的帖子
提问:
第一步建立Hash buckets时 Oracle是怎么把build_table的值影射到Hash buckets里的,每一个hash bucket里会有多少值?
难道像楼住这样得出来的么?
select count(*),col_name from build_table
group by col_name
谢谢
oracle通过hash函数生成值hash(col_name) ,然后根据hash(col_name)投放相应的bucket
所以col_name值相同肯定会在同一个bucket里面,col_name值不同也可能出现在一个bucket里面,因为当col_name number of distinct value > number of buckets是,难免会出现一个篮子里面有多个鸡蛋的情况 |
|