https://cloud.tencent.com/developer/article/1615563

聚集索引和非聚集索引以及MySQL的InnoDB和MyISAM经常遇到有人向我咨询这个问题,其实呢,网上帖子很多,也说的都对,但是呢,看客可不一定是真的理解了。所以今天在这里用最简短的语言让你明白这些区别。

看这种图表就一切都明白了:

存储引擎 索引类型 主键叶子节点 非主键叶子节点
MyISAM 非聚簇 数据地址 数据地址
InnoDB 聚簇 全部数据 主键值
key 重复 不能

问题:InnoDB和MyISAM选那个?

MySQL5.6以后选InnoDB。

看看官方文档是最权威的:https://dev.mysql.com/doc/refman/5.7/en/innodb-benefits.html

===========上面已经把这个高频问题说完了,下面是为了满足好学者所做的扩展=============

名词解释

Clustered Index:聚集索引,又称聚簇索引。

Nonclustered indexes:非聚集索引,又称非聚簇索引。

Secondary Key:二级索引,因为聚集索引只能有一个,所有同一个表其他字段只能是二级索引也就是非聚集索引。

看看经典著作《高性能MySQL(第3版)》关于聚簇索引的说明: