索引的分类
1. 普通索引和唯一索引
普通索引是mysql 中的基本索引类型,允许在自定义索引的列中插入重复值和空值。
唯一索引,索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。主键索引是一种特殊的唯一索引,不允许有空值。
2.单列索引和组合索引
单列索引即一个索引只包含单个列,一个表可以有多个单列索引。
组合索引指在表的多个字段组合上创建索引,只有在查询条件中使用了这些字段的左边字段时,索引才会被使用。使用组合索引时遵循最左前缀组合。
3.全文索引
全文索引类型为FULLTEXT,在定义索引的列上支持值的全文查找,允许在这些索引列中插入重复值和空值。全文索引可以在char,Varchar 或者
TEXT类型列上创建。MYSQL中只有MyIsAM存储引擎支持全文索引
4.空间索引
空间索引是对空间数据类型的字段建立索引,MYSQL中空间数据类型有4种,分别是:GEOMETRY、POINT、LINESTRING&POLYGON。MYSQL使用SPATIAL关键字进行扩展。使得能够用于创建正规索引类似语法创建空间索引。创建空间索引的列,必须将其声明为NOT NULL ,空间索引只能在存储引擎为MyIsAM的表中创建