区别
聚簇索引:将索引和表数据放到同一个节点中,索引结构的叶子节点存放数据,找到了索引,即找到了数据。一个表只能有一个聚簇索引。
非聚簇索引:索引存储和数据存储分离,索引结构的叶子节点指向数据的位置。通过索引找到位置,再通过位置找到数据,这个过程叫做回表查询。一个表可以有多个非聚簇索引。非聚簇索引也成为辅助索引。
覆盖索引:覆盖索引是select的数据列只用从索引中就能够取得,不必读取数据行,换句话说查询列要被所建的索引覆盖。
select name from color where name = '张三'
。name为索引字段
何时使用聚簇索引与非聚簇索引
图解
聚簇索引
非聚簇索引