聚簇索引非聚簇索引有什么区别?
聚簇索引
聚簇索引的叶子节点存储了完整的数据行,数据和索引是在一起的。
InnoDB的主键索引就是聚簇索引,叶子节点不仅存储了主键值,还存储了其他列的值。因此按照主键进行查询的速度会非常快。
每个表只能有一个聚簇索引,通常由主键定义。如果没有显式指定主键,InnoDB会隐式创建一个隐藏的主键索引row_id
非聚簇索引
非聚簇索引的叶子节点只包含了主键值,
需要通过回表按照主键去聚簇索引查找其他列的值,唯一索引、普通索引等非主键索引都是非聚簇索引。
每个表都可以创建多个非聚簇索引,如果不想回表的话,可以通过覆盖索引把要查询的字段也放到索引中。

浙公网安备 33010602011771号