第14讲数据库的存储管理摘要.ppt

第14讲数据库的存储管理摘要

索引文件的结构 B+树结构 B+树的组织 根结点与其他非叶结点不同,它包含的指针数可以小于[m/2],但必须至少包含两个指针。这与只有某级索引需要多个磁盘块(大于1)存储时,才需要建上一级索引相一致。 所有被使用的键和指针通常都存放在结点的开头位置,但叶节点的第n个指针例外,该指针要放在最后,用来指向下一个叶结点。 索引文件的结构 B+树结构 B+树的组织 B+树的结点较大,一般占一个磁盘块大小,每个结点中可以有大量的指针,因此B+树一般“胖而矮”,不像二叉树那样“瘦而高”。 一般在存储块能容纳m-1个键值和m个指针的情况下,应把m取得尽可能大。 【例】假定磁盘块大小为4KB,且整数型键值占4个字节,指针占8个字节。若不考虑磁盘块块首部信息所占空间,那么m值最大可取多少? 4(m-1)+8m≤4096的最大整数值,即m=341 索引文件的结构 B+树结构 B+树的查询 在B+树中查找索引键值为K的记录,查询开始结点为T(初始为根节点),则查询过程可如下进行: (1)如果结点T的键值为K1、K2、…、Kn,只有一个子结点可找到具有键值K的叶结点。如果KK1,则为第一个子结点;如果K1≤KK2,则为第二个子结点……如果Kn≤K,则为第n+1个子结点。将这一子结点记为T。 (2)如果结点T是非叶结点,则返回(1)继续查找。 (3)否则在结点T中查找,若存在索引键值Ki=K,则指针

文档评论(0)

1亿VIP精品文档

相关文档