结果可能是你想不到的。
[@more@]比如一个index entry 是18bytes,一个8k的block,PCTFREE=10%,则可以存放8*1024*0.9/18=410,约为400个index entries
如果一个表有100,000,000 rows,那么需要250,000 leaf blocks
在算算branch:每个branch 记录了每个leaf的最大值和address,大约16 bytes。这样可以存储大约450 个 branch index entries也就是说需要250000/450=556个branch block。
但是556个branch又需要多少个再上一级的branch block 来管理呢?因为一个branch最多存储450个leaf entries??灾辽儆中枰?个branch blocks。
然而这两个branch blocks,还需要一个block来管理,这个block就是root 了。
BLEVEL 1 = 1 branch block
BLEVEL 2 = 2 branch blocks
BLEVEL 3 = 556 branch blocks
Leaf level(BLEVEL 4) = 250,000 leaf blocks
Table rows = 100,000,000 rows
所以一个4层的索引,至少就可以管理1亿条记录。
因此,当你的表超过了1亿条记录的时候,数据的管理、索引的管理就要注意了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/814/viewspace-852155/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/814/viewspace-852155/
本文详细解析了一个包含一亿条记录的表如何通过四层索引进行高效管理,包括leaf blocks和branch blocks的数量计算,以及不同层级索引块的存储原理。
832

被折叠的 条评论
为什么被折叠?



