1.索引定义
索引是由数据表中一列或者多列组合而成。其作用是提高对表中数据的查询速度;类似与图书的目录,方便快速定位,查找指定的内容,提高效率。
2.索引优缺点
优点:提高查询数据的速度。
缺点:增加了创建和维护索引的时间。
3.索引的分类
- 普通索引
这类索引可以创建在任何数据类型中。
- 唯一性索引
使用UNIQUE参数进行设置,在创建唯一索引时,限制该索引值是惟一的。
- 全文索引
使用FULLTEXT 参数进行设置,全文索引索引只能创建在CHAR、VARCHAR、TEXT类型的字段上,用来提高查询较大字符串类型内容的速度。
- 单列索引
在表中可以给某个字段创建索引,单列索引可以使普通索引,可以使唯一性索引,也可以是全文索引。
- 多列索引
多列索引是在表的多个字段上创建索引。
- 空间索引
使用SPATIAL参数可以设置空间索引。空间索引只能建立在空间数据类型上,这样可以提高系统获取空间类型数据的效率。
4.创建索引的三种方式
- 在创建表时创建索引
(1)创建单列索引
(2)创建唯一性索引
a.创建主键时默认生成唯一性索引
b.普通方式创建唯一性索引
(3)创建全文索引
(3)为索引起别名
(4)创建多列索引
- 在已存在的表上创建索引
(1)创建单列索引
a.首先创建一个表,查看此时它的索引情况,为Empty,故开始创建索引
b.create [unique|fulltext|spatial] index 索引名 on 表名(属性名);
(2)在原来基础上,再增加一个多列索引
create [unique|fulltext|spatial] index 索引名 on 表名(属性名1,属性名2);
- 用alter table 语句来创建索引
(1)创建单列索引
a.首先创建一个表,查看此时它的索引情况,为Empty,故开始创建索引
b.alter table add [unique|fulltext|spatial] index 索引名 (属性名);
(2)在原来基础上,再增加一个多列索引
alter table add [unique|fulltext|spatial] index 索引名(属性名1,属性名2);
5.删除索引
drop index 索引名 on 表名