优缺点
- 优点:提高查询数据的速度
- 缺点:增加了创建和维护索引的时间
分类
- 普通索引
- 可以创建在任何数据类型中
- 唯一性索引
- 使用unique参数可以设置,在创建唯一性索引时,限制该索引的值必须是唯一的
- 全文索引
- 使用fulltext参数可以设置,全文索引只能创建在char,varchar,text类型的字段上。主要作用是提高较大字符串类型的查询速度;只有MyISAM引擎支持该索引,MySQL引擎默认不支持。
- 单列索引
- 在表中可以给单个字段创建索引,单列索引可以是普通索引,唯一性索引或全文索引。
- 多列索引
- 多列索引是在表的多个字段上创建一个索引。
- 空间索引
- 使用spatial参数可以设置空间索引。空间索引只能创建在空间数据类型上,这样可以提高系统获取空间数据的效率;只有MyISAM引擎支持,MySQL引擎默认不支持。
创建索引
-
创建表的时候创建索引
create table 表名
(属性名 数据类型[完整性约束条件]),
(属性名 数据类型[完整性约束条件]),
...
[unique|fulltext|spatial] index|kye [别名] (属性名 [(长度)] [asc|desc] ) -
在已存在的表上创建索引
create [unique|fulltext|spatial] index 索引名 (属性名 [(长度)]) [asc|desc] );
-
用alter table语句来创建索引
alter table 表名 add [unique|fulltext|spqtial] index 索引名 (属性民 [(长度)] [asc|desc]);
-
删除索引
drop index 索引名 on 表名;