mysql 索引入门

1.索引定义

         索引是由数据表中一列或者多列组合而成。其作用是提高对表中数据的查询速度;类似与图书的目录,方便快速定位,查找指定的内容,提高效率。

2.索引优缺点

           优点:提高查询数据的速度。

           缺点:增加了创建和维护索引的时间。

3.索引的分类

  • 普通索引

这类索引可以创建在任何数据类型中。

  • 唯一性索引

使用UNIQUE参数进行设置,在创建唯一索引时,限制该索引值是惟一的。

  • 全文索引

使用FULLTEXT 参数进行设置,全文索引索引只能创建在CHAR、VARCHAR、TEXT类型的字段上,用来提高查询较大字符串类型内容的速度。

  • 单列索引

在表中可以给某个字段创建索引,单列索引可以使普通索引,可以使唯一性索引,也可以是全文索引。

  • 多列索引

多列索引是在表的多个字段上创建索引。

  • 空间索引

 使用SPATIAL参数可以设置空间索引。空间索引只能建立在空间数据类型上,这样可以提高系统获取空间类型数据的效率。

 4.创建索引的三种方式

  • 在创建表时创建索引

(1)创建单列索引

 

(2)创建唯一性索引

a.创建主键时默认生成唯一性索引

b.普通方式创建唯一性索引

mysql 索引入门_第1张图片

mysql 索引入门_第2张图片

(3)创建全文索引

mysql 索引入门_第3张图片

(3)为索引起别名

mysql 索引入门_第4张图片

(4)创建多列索引

 

  • 在已存在的表上创建索引

(1)创建单列索引

a.首先创建一个表,查看此时它的索引情况,为Empty,故开始创建索引

mysql 索引入门_第5张图片

b.create   [unique|fulltext|spatial]   index   索引名  on  表名(属性名);

mysql 索引入门_第6张图片

(2)在原来基础上,再增加一个多列索引

create   [unique|fulltext|spatial]   index   索引名  on  表名(属性名1,属性名2);

mysql 索引入门_第7张图片

 

  • 用alter table 语句来创建索引

(1)创建单列索引

a.首先创建一个表,查看此时它的索引情况,为Empty,故开始创建索引

mysql 索引入门_第8张图片

b.alter table  add  [unique|fulltext|spatial]   index   索引名 (属性名);

mysql 索引入门_第9张图片

(2)在原来基础上,再增加一个多列索引

alter table add   [unique|fulltext|spatial]   index   索引名(属性名1,属性名2);

mysql 索引入门_第10张图片

5.删除索引

drop index 索引名 on 表名

mysql 索引入门_第11张图片

你可能感兴趣的:(mysql学习)