MySQL添加索引详解(5种添加索引方式)

MySQL添加索引详解(5种添加索引方式)-mikechen

MySQL添加索引可以提高查询效率,下面详解MySQL添加索引的常见5种方式。

1.添加primary key(主键索引)

语法:

alter table 表名 add primary key(列名)

主键索引简称主键,原文是PRIMARY KEY,用于唯一性标识数据表中的某一条记录。

一个表可以没有主键,但最多只能有一个主键,并且主键值不能包含NULL。

一句话总结:主键相当于一本书的页码,索引相当于书的目录。

 

2.添加unique(唯一索引)

语法:

alter table 表名 add unique(列名)

这条语句创建索引的值必须是唯一的,除了NULL外,NULL可能会出现多次。

唯一索引一张表中可以有多个唯一索引,用于提升查询速度,还要求字段值不得重复。

 

3.添加index(普通索引)

语法:

alter table 表名 add index 索引名(index_name) (列名)

常规索引,也叫普通索引(index),它可以常规地提高查询效率。

一张数据表中可以有多个常规索引,常规索引是使用最普遍的索引类型,如果没有明确指明索引的类型,我们所说的索引都是指常规索引。

 

4.添加fulltext(全文索引)

语法:

alter table 表名 add fulltext (列名)

该语句表示:指定了索引为 fulltext ,用于全文索引。

用于大量文本搜索中建立的索引,虽然索引有好处,但是凡是都有俩面性,提高效率和速度的同时却增加了某些负担。

比如:索引需要更多的磁盘空间,索引越多,占用越多。

 

5.添加多列索引

语法:

alter table 表名 add index 索引名(index_name) (列名1,列名2.......)

多列索引,是指在创建索引时所关联的字段不是一个字段,而是多个字段。

虽然可以通过所关联的字段进行查询,但是只有查询条件中使用了所关联字段中的第一个字段,多列索引才会被使用。

示例:

create table class(
    id int ,
    name varchar(128) unique ,
    teacher varchar(64),
    index index_mult_columns(id asc,
                             teacher)
);

 

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法