暂无图片
返回数说广场
杜伟
暂无图片
2023-06-27 来自 xiaomi 用一句话介绍你自己吧
Oracle是如何使用4层树状结构(3层位图块+数据块)来确定向哪个块中插入的呢? 第一步,查找数据字典(就是dba_segments数据字典视图的基表),确定段头位置。 第二步,在段头中找到第一个L2块位置信息。 第三步,到L2块中根据执行插入操作进程的PID号,做HASH运算,得到一个随机数N,在L2中,找到第N个L1块的位置信息。 第四步,到第三步中确定的L1块中,再根据执行插入操作进程的PID号,做HASH运算,得到一个随机数M,在L1中找到第M号数据块。 第五步,向第M号数据块中插入。 L3块中虽然可以有多个L2块,但插入操作不会选择多个L2块,每次只会选择同一个L2块。直到这个L2块下面的所有数据块都被插满了,才会选择下一个L2块。 在L2中选择某个L1的时候,就是随机的了。不同Session,只要有可能,就会被分配到不同的L1中。在L1中找数据块时也是一样。
0
暂无图片 1
201
分享

评论

热门数说