引条目,而这正是我们在前面所指出的为了管理 ')$$ 个叶子节点,我们需要 , 个分支节点。
每个索引条目都指向一个分支节点。其中 $ 表示所链接的分支节点的地址,该值经
过一定的转换以后实际就是 29所在行的 ! 的值。如果根节点下没有其他的分支节点,
则 $ 为 ;# 表示该分支节点所链接的最小键值。其转换方式非常复杂,比如对
于 2 9# 来 说 , # 为 '$ '# '# '# '# '# '# '' , 则 将 其 中 每 对 值 都 使 用 函 数
63;<=>>=? 的 方 式 从 十 六 进 制 转 换 为 十 进 制 , 于 是 我 们 得 到 转 换 后 的 值 :
0,<0-<0-<0-<0-<0-<0-<%$,因为我们已经知道索引键值是 " 类型的,所以对每个值都运用
" 函数就可以得到被索引键值为:$######'。实际上,对 $######' 运用 !3 函数得到
的结果就是:0,<0-<0-<0-<0-<0-<0-<%$。所以我们也就知道,$######' 就是 ! 为 &%&&)-#-
的索引块所链接的最小键值。
!;64444440=$
+DL;64444440=
.....................................
@'9> '13:9<:1<:1<:1<:1<:1<:1<84
接 下 来 , 我 们 从 根 节 点 中 随 便 找 一 个 分 支 节 点 , 假 设 就 是 29# 所 描 述 的
&%&&)-#-。对其运用前面所介绍过的 !63@A 里的存储过程获得其文件号和数据块号,
并对该数据块进行转储,其内容如下所示。可以
%A4J14:0K"37877>:47'456147
41;1=3-0604040404000900
60;0=3-46:47
???
%A:4:J180K"37877>14>'456140>
41;1=3-06040404060>0:04
60;0=3-46:449
.....$"&"B.....
发现内容与根节点完全类似,只不过该索引块中所包含的索引条目(指向叶子节点)的
数 量 更 多 了 , 为 0#% 个 。 这 也 与 我 们 前 面 所 说 的 一 个 分 支 索 引 块 可 以 存 放 大 约
0#%()0--$))个索引条目完全一致。
然后,我们从中随便挑一个叶子节点,对其进行转储。假设就选 29# 行所指向的
837