B+树的叶节点是有序的。当它用于聚集索引的时候,叶节点本身既是索引又是真实值。当它用于非聚集索引的时候,叶节点仅仅是索引,索引的指针指向的才是真实值。由于此时索引是有序的,因此其指向通常是无序的,所以两个连续的索引值可能对应的真实值所在的行可能会离得很远。 举个例子,一个表用整数id作为主键,且将主键当做聚集索引。此时再用表中的另一列age当做非聚集索引。由于表的行本身就是按主键排序的,因此age是无序的,所以age=10的行可能在第八行,而age=11的行却可能位于第三十行,差别很大。所以在插入的时候就无法做到连续的索引插入到连续的行中,而只能一条一条地定位和插入
B+树的叶节点是有序的。当它用于聚集索引的时候,叶节点本身既是索引又是真实值。当它用于非聚集索引的时候,叶节点仅仅是索引,索引的指针指向的才是真实值。由于此时索引是有序的,因此其指向通常是无序的,所以两个连续的索引值可能对应的真实值所在的行可能会离得很远。
举个例子,一个表用整数
id
作为主键,且将主键当做聚集索引。此时再用表中的另一列age
当做非聚集索引。由于表的行本身就是按主键排序的,因此age
是无序的,所以age=10
的行可能在第八行,而age=11
的行却可能位于第三十行,差别很大。所以在插入的时候就无法做到连续的索引插入到连续的行中,而只能一条一条地定位和插入