索引分类
1.聚簇索引 / 非聚簇索引
2.主键索引,唯一性索引
3.单个索引,复合索引
聚簇索引:
- 只能来自于采用INNODB存储引擎表的数据
- Mysql自动将采用了INNODB存储引擎表中主键建立索引,这个索引就是聚簇索引
- 如果当前表中没有主键,MySql将会选择添加唯一性约束的字段作为聚簇索引
- 如果当前表中没有主键字段,也没有添加了唯一性约束字段 mysql将随机选取一个字段作为聚簇索引。
- 在采用innodb存储引擎的表文件中,必然会存在一个聚簇索引
- 在innodb存储引擎表文件中只能有一个聚簇索引。
- 在表文件中其他字段上建立的索引都是非聚簇索引
非聚簇索引
1.由开发人员自行创建
2.对于采用innodb存储引擎表,除了一个聚簇索引之外,其他字段上创建的索引都是非聚簇索引
3.在采用MyIsam存储引擎的表中,创建的所有索引都是非聚簇索引
聚簇索引与非聚簇索引的区别
1.聚簇索引:数据节点存储的[当前数据所在行数]以及[当前数据所在数据行的内容]
2.非聚簇索引:数据节点存储的[当前数据所在行数]