【MySQL体系机构】二级索引
二级索引的特点
1、使用X列的⼤⼩进⾏记录和⻚的排序,这包括三个⽅⾯的含义:
- ⻚内的记录是按照X列的⼤⼩顺序排成⼀个单向链表。
- 各个存放⽤户记录的⻚也是根据⻚中记录的X列⼤⼩顺序排成⼀个双向链表。
- 存放⽬录项记录的⻚分为不同的层次,在同⼀层次中的⻚也是根据⻚中⽬录项记录的X列⼤⼩顺序排成⼀个双向链表。
2、B+树的叶⼦节点存储的并不是完整的⽤户记录,⽽只是X列+主键这两个列的值。
3、⽬录项记录中不再是主键+⻚号的搭配,⽽变成了X列+⻚号的搭配。
通过二级索引查询X列的值的过程:
1、 确定⽬录项记录⻚
2、通过⽬录项记录⻚确定⽤户记录真实所在的⻚。
3、在真实存储⽤户记录的⻚中定位到具体的记录。
3、但是这个B+树的叶⼦节点中的记录只存储了X列和主键这两个列,所以我们必须再根据主键值去聚簇索引中再查找⼀遍完整的⽤户记录。