Mysql在InnoDB引擎下,非唯一索引如果出现重复键,底层B+树具体是怎么排列的呢?我看了一些资料,有人说是用溢出页,也就是类似HashMap的哈希冲突时采用的拉链法,也有人说不对,所以想问一下到底是怎么实现的?
非唯一索引(是一种辅助索引)会同时存储对应行的主键id,所以非唯一索引相同时,会按记录的主键进行排序,如非唯一索引字段为name,有以下两条记录记录1:id=4, name='ccc'记录2:id=5, name='ccc'那么在B+树里就是这样排序的
非唯一索引(是一种
辅助索引
)会同时存储对应行的主键id
,所以非唯一索引相同时,会按记录的主键
进行排序,如非唯一索引字段为name
,有以下两条记录记录1:id=4, name='ccc'
记录2:id=5, name='ccc'
那么在B+树里就是这样排序的
