首先,聚簇索引的含义:它并不是数据库索引的某一种类型,而是用来表示数据的一种存储方式。而在innodb中,数据是以B+树的形式进行存储(此处放一个链接来解释B+树),且所有的数据都存储在叶子节点上,非叶子节点只存索引的信息(就是一个key,value是指向叶子结点的指针)。
上面这种索引以及存储方式就叫聚簇索引。
如果设置了主键,那么主键就是聚簇索引
如果没有设置主键,则第一个非空的唯一索引(UNIQUE KEY)就是聚簇索引
如果也没有唯一索引,则有一个隐藏的row-id作为聚簇索引
首先,聚簇索引的含义:它并不是数据库索引的某一种类型,而是用来表示数据的一种存储方式。而在innodb中,数据是以B+树的形式进行存储(此处放一个链接来解释B+树),且所有的数据都存储在叶子节点上,非叶子节点只存索引的信息(就是一个key,value是指向叶子结点的指针)。
上面这种索引以及存储方式就叫聚簇索引。
如果设置了主键,那么主键就是聚簇索引
如果没有设置主键,则第一个非空的唯一索引(UNIQUE KEY)就是聚簇索引
如果也没有唯一索引,则有一个隐藏的row-id作为聚簇索引