聚簇索引与非聚簇索引的区别
聚簇索引是将索引和整条记录存放在一起,找到索引就找到了记录;
非聚簇索引之存储索引字段和记录所在位置,通过索引找到记录所在的位置,然后再根据记录所在位置去获取记录;
一般来讲一对数据记录最多只能有一个聚簇索引,但可以有很多非聚簇索引;
俩者的优缺点对比
聚簇索引的查找记录要比非聚簇索引快,因为聚簇索引查找到索引就查找到了数据位置,而非聚簇索引找到索引之后,根据记录的数据地址,再去查找数据;
一个数据表只能有一个聚簇索引,但可以有多个非聚簇索引;
聚簇索引和非聚簇索引都可以加快查询速度,但同时也都对写入速度会有影响;聚簇索引对写入的速度影响更大一些;
俩者使用场景
InnoDB的主键使用的都是聚簇索引,而MyASM无论是主键索引还是二级缩影,使用的都是非聚簇索引;