一、从数据结构维度进行分类:
①B+树索引:所有数据存储在叶子节点,复杂度为O(logn),适合范围查询。
②哈希索引:适合等值查询,检索效率高,一次到位。③全文索引:MyISAM和InnoDB中都支持使用全文索引,一般在文本类型char,text,varchar类型上创建。
④R-Tree索引:用来对GIS数据类型创建SPATIAL索引
二、从物理存储维度进行分类:
①聚集索引:数据存储与索引一起存放,叶子节点会存储一整行记录,找到索引也就找到了数据。
②非聚集索引:数据存储与索引分开存放,叶子节点不存储数据,存储的是数据行地址。
三、从逻辑维度进行分类:
①主键索引:一种特殊的唯一索引,不允许有空值。
②普通索引:MySQL中基本索引类型,允许空值和重复值
③联合索引:多个字段创建的索引,使用时遵循最左前缀原则
④唯一索引:索引列中的值必须是唯一的,但是允许为空值
⑤空间索引:MySQL5.7之后支持空间索引,在空间索引这方面遵循OpenGIS几何数据模型规则。