数据库优化<四>SQL优化之SELECT优化—mysql Innodb索引

时间:2022-07-04 07:32:23

在mysql的存储引擎Innodb中,有聚簇索引(clustered index)和附属索引(secondary index),

聚簇索引(clustered index):

         将数据和索引一起存放,即数据的存放顺序根据聚簇索引来存的,其中聚簇索引有以下几种情况:

                 1,如果表有主键primary key,则聚簇索引为主键索引

                 2,没有主键索引,但有非空(not null)的唯一索引,innodb会把第一个这样的索引当作聚簇索引

                 3,如果没有主键索引,也没有唯一键索引,则innodb自动生成一个包含6字节长的字段来建立聚簇索引


附属索引(secondary index):

         所有的除了聚簇索引的索引都是附属索引,他的实现方法是:以聚簇索引的结构为基础(因为聚簇索引和

         数据绑定了),索引中包含聚簇索引的所有列,然后加上一些标识信息,组成索引,查询的时候,先通过

         标识找到对应的附属索引,然后通过主键索引来这找到对于的数据,因此,访问主键是最快的