![](https://img.kancloud.cn/a7/83/a783d4ca5be57c340d13b756e66207c2_1056x263.png) ``` 全文索引(FULLTEXT) MySQL从3.23.23版开始支持全文索引和全文检索,FULLTEXT索引仅可用于 MyISAM 表;他们可以从CHAR、VARCHAR或TEXT列中作为CREATE TABLE语句的一部分被创建,或是随后使用ALTER TABLE 或CREATE INDEX被添加。////对于较大的数据集,将你的资料输入一个没有FULLTEXT索引的表中,然后创建索引,其速度比把资料输入现有FULLTEXT索引的速度更为快。不过切记对于大容量的数据表,生成全文索引是一个非常消耗时间非常消耗硬盘空间的做法。 普通索引(NORMAL) 这是最基本的索引,它没有任何限制,比如上文中为login字段创建的索引就是一个普通索引,MyIASM中默认的BTREE类型的索引,也是我们大多数情况下用到的索引 spatial 唯一索引 (UNIQUE) 索引列的值必须唯一,但允许有空值(注意和主键不同)。如果是组合索引,则列值的组合必须唯一,创建方法和普通索引类似 组合索引 为什么没有time这样的组合索引呢?这是因为MySQL组合索引“最左前缀”的结果。简单的理解就是只从最左面的开始组合。并不是只要包含这两列的查询都会用到该组合索引,如下面的几个SQL所示: > –使用到上面的索引 > > SELECT \* FROM article WHREE title='测试' AND time=1234567890; > > SELECT \* FROM article WHREE utitle='测试'; > > –不使用上面的索引 > > SELECT \* FROM article WHREE time=1234567890; ```