聚簇索引不是一种单独的索引类型,而是一种数据存储方式;mysql
mysql中的InnoDB的聚簇索引的存储方式就是同时保存B-tree索引和数据行;索引一个数据表能且只能有一个聚簇索引;sql
而非聚簇索引就是索引和数据行分开存储;索引
入下图的聚簇索引; 索引的叶子页包含数据,而节点包含索引列,索引列包含的是数值;im
在mysql的InnoDB中,将经过主键汇集数据。也就是说图中的“被索引的列”就是主键列;若是没有定义主键,会选择一个惟一的非空索引代替;数据
那么其余索引列怎么存储的呢;img
其余索引的结构是叶子节点包含的是聚簇索引的主键(InnoDB),这类索引称之为“二级索引”