- 按照存储方式分类:分为聚簇索引和非聚簇索引。聚簇索引是指索引文件和数据文件存储在一起,比如InnoDB存储引擎使用的就是聚簇索引。而非聚簇索引刚好相反,他的索引文件和数据文件是分开存储的,主要用在MyISAM存储引擎中。
- 按照使用方式分类:有四类索引:主键索引、唯一索引、组合索引、全文索引(一般用于文本信息)
主键索引:一类特殊的索引,一个表只能有一个主键索引,且不允许为空。主键索引由存储引擎默认创建。
唯一索引:列值必须唯一,但可以有空值。
组合索引:在多个字段上创建索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会使用。也就是我们常说的最左匹配。当然还有索引回表、索引覆盖、索引下推等相关问题。
全文索引:用于查找文本中的关键字,而不是直接与索引中的值做比较