重复的键值

当多行的索引项列的值完全相同时,发生重复键值。例如:假设 B-tree 结构的第三个和第四个叶节点包含键值 Smith 。进一步假设该值重复 6 次,如 图 1 图说明的那样。

图: 叶节点 3 和 4


begin figure description - The paragraph that precedes this figure describes the content of the figure. - end figure description

第三个叶节点上的第一项包含重复的键值 Smith 以及包含重复键值的表中第一个物理行的 rowid 信息。为节省空间,第二项不重复键值 Smith 但只包含 rowid 信息。在整个页上继续该过程;页上不存在其他键值,只有 rowid 信息。

第四个叶页上的第一项也包含重复键值和 rowid 信息。后续项只包含 rowid 信息。

现在考虑分支节点。分支节点中的第三项包含与第三叶节点中的最大项相同的键值和 rowid ,并且有一个指向它的节点指针。第四项将只包含指向第四叶节点的节点指针,这样就节省了附加重复键值的空间。