聚簇索引与非聚簇索引区别
时间: 2024-02-20 15:49:05 浏览: 74
详解MySQL 聚簇索引与非聚簇索引
聚簇索引(Clustered Index)一般指的是主键索引,它在数据库中被称为聚集索引。在MySQL的InnoDB引擎中,聚簇索引的叶子节点存储的是行数据。因此,通过聚簇索引可以直接找到真正的行数据,查询效率更高。聚簇索引一般为主键索引,一个表中只能有一个聚簇索引。
非聚簇索引(Non-Clustered Index)的叶子节点存储的是聚簇索引(通常是主键ID),而不是行数据。因此,使用非聚簇索引进行查询时,还需要进行回表查询才能获取真正的行数据,性能相对较低。一个表中可以有多个非聚簇索引,没有数量上的限制。
综上所述,聚簇索引与非聚簇索引的主要区别在于叶子节点存储的数据不同。聚簇索引的叶子节点存储的是行数据,查询效率更高;而非聚簇索引的叶子节点存储的是聚簇索引(通常是主键ID),需要进行回表查询,性能较低。
阅读全文