在网络上有很多MySQL的索引的结构的介绍,相信你对索引的结构已经非常了解了,关于组合索引呢?组合索引是在B+树中的结构是怎么样的?怎么排序的?索引中相同的值,存储的id是什么结构?在本篇文章中就跟你一一说明
一、组合索引的图示
话不多说,直接上图
上面是根据身高年龄建立的组合索引(height,age)
二、组合索引在B+树中的排序
以上图索引为例,组合索引在B+树中是两个字段进行排序的,索引的key是身高和年龄,值是主键id,先按照身高排序,身高一样的按照年龄排序
三、索引的key相同结构是怎么样的
如果索引的key相同,比如都是身高176,年龄29,是三条索引记录呢?还是一条索引记录下面有三个主键的列表呢?
上图中有三个索引的key相同的,身高:176,年龄29,他们在索引页中的结构与主键id是一一对应的关系,是三条索引记录。
注意:在非主键索引中,非主键索引是有序的,相同的非主键索引,还会按照主键排序,所以你建立一个非主键索引就相当于创建了非主键和主键的组合索引