比如有一张表,主键 ID 是数组,我知道 B+树是怎么存储 ID 作为索引的。但是有另外一个 name 字段,name 字段是字符串类型的,在 name 字段上建索引,这个索引结构是什么样子的呢? B+树是怎么存储 name 字段的索引的呢?
1
wind3110991 2019-01-17 17:29:33 +08:00 1
可以默认按 name 首字母来顺序排序,以 InnoDB 为例子:
例如:Alice、Allen、Ben、Bob、Peter 那么可能上一级索引为: A -> B ->P 然后卫星节点(叶子)为: ( 1 ) Alice -> Allen -> Ben -> Bob -> ( 2 ) Peter 当然,name 作为字符串的话,你也可以选择以字符串的一部分建立索引: Al -> Be ->Bo -> Pe 叶子为: ( 1 ) Alice->Allen -> ( 2 ) Ben ->Bob -> Peter |
2
CaptainKevin 2019-01-18 10:27:59 +08:00 via Android 1
name 的值作为 b+树排序的键,name 所在记录的主键 id 作为 b+树相应节点所在的值
|