一线大厂面试的MySQL索引夺命连环15问( 四 )

接下来,我们分不同存存储引擎去聊哈~
在MySQL的InnoDB存储引擎中,聚簇索引与非聚簇索引最大的区别,在于叶节点是否存放一整行记录 。聚簇索引叶子节点存储了一整行记录,而非聚簇索引叶子节点存储的是主键信息,因此,一般非聚簇索引还需要回表查询 。

  • 一个表中只能拥有一个聚集索引(因为一般聚簇索引就是主键索引),而非聚集索引一个表则可以存在多个 。
  • 一般来说,相对于非聚簇索引,聚簇索引查询效率更高,因为不用回表 。
而在MyISM存储引擎中,它的主键索引,普通索引都是非聚簇索引,因为数据和索引是分开的,叶子节点都使用一个地址指向真正的表数据 。
作者丨捡田螺的小男孩
来源丨公众号:捡田螺的小男孩(ID:gh_51e0e901a289)




推荐阅读