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面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》