在mysql的存储引擎Innodb中,有聚簇索引(clustered index)和附属索引(secondary index),
聚簇索引(clustered index):
将数据和索引一起存放,即数据的存放顺序根据聚簇索引来存的,其中聚簇索引有以下几种情况:
1,如果表有主键primary key,则聚簇索引为主键索引
2,没有主键索引,但有非空(not null)的唯一索引,innodb会把第一个这样的索引当作聚簇索引
3,如果没有主键索引,也没有唯一键索引,则innodb自动生成一个包含6字节长的字段来建立聚簇索引
附属索引(secondary index):
所有的除了聚簇索引的索引都是附属索引,他的实现方法是:以聚簇索引的结构为基础(因为聚簇索引和
数据绑定了),索引中包含聚簇索引的所有列,然后加上一些标识信息,组成索引,查询的时候,先通过
标识找到对应的附属索引,然后通过主键索引来这找到对于的数据,因此,访问主键是最快的