聚簇索引
找到了索引就找到了需要的数据,那么这个索引就是聚簇索引,所以 innodb中的主键就是聚簇索引(一级索引)。
但是 innodb 中也存在非聚簇索引,就是除主键索引(一级索引)之外的索引,也叫辅助索引。例如为 name 列添加索引(二级索引),我们通过 name 找到后并不能找到数据,而是需要再找到主键索引,通过主键索引找到数据,这种索引也称为非聚簇索引。
非聚簇索引
索引的存储和数据的存储是分离的,也就是说找到了索引但没找到数据,需要根据索引上的值(主键)再次回表查询,非聚簇索引。
MySQL中InnoDB引擎的索引和文件是存放在一起的,找到索引就可以找到数据,是聚簇式设计。而 MyISAM 引擎采用的是非聚簇式设计,索引文件和数据文件不在同一个文件中。