常规索引页面的结构

常规索引按照页层次结构排列(技术上称为 B 型树)。

下图显示索引的 B 型树结构。该层次结构的最顶层包含单独的根页。 中间层(在需要时)包含一些枝页。 每个分支页包含一些条目,这些条目指向该索引的下一级别的页的子集。索引的最底层包含一组叶子页。 每个叶子页包含索引条目的列表,这些条目指向表中的行。

图: 索引的 B 型树结构


在周围的文本中描述此图。

一个索引所需要的层次数取决于该索引中唯一键的数量,以及每页所能包含的索引条目的数量。 每页中条目的数量又取决于在上面建立索引的列的大小。

如果一个给定表的索引页能包含 100 个键,那么最多包含 100 行的表只需要一个单层索引:根页。 如果该表增长到超过 100 行,在 101 和 10,000 行之间,那么它需要两层索引:1 个根页和 2 到 100 个叶子页。 如果该表增长到超过 10,000 行,其大小 在 10,001 行和 1,000,000 行之间,那么它需要三层索引:根页、一组数量为 100 的枝叶以及最多可达 10,000 个的叶子页。

包含于叶子页中的索引条目按照键值顺序排序。 索引条目由和一个或多个指针组成。 键就是一行数据的索引列的副本。 行指针提供地址,用于定位包含该键的行。 唯一索引包含表中每行的一个索引条目。

有关 GBase 8s 的特殊索引的信息,请参阅用户定义的数据类型上的索引