Mysql 索引

相当于目录,能够提高查询性能。但因为其会再建一个空间来存放这些索引,所以会消耗部分空间,并且在对数据进行插入、更新等操作时,也会自动对索引目录进行修改,因此某些情况下也会降低性能

1.类型

(1)普通索引
key/index(列名1,列名2, ...)
(2)唯一索引
unique key(列名1,列名2, ...)

要求索引值唯一

(3)主键索引
primary key(列名1,列名2, ...)

和唯一索引一样要求值唯一

(4)全文索引
fulltext(列名1,列名2, ...)

需要引擎为myisam才能使用该索引,该索引的列可以通过使用:match(列名) ... against('查询内容'),来实现模糊查询,举例:

mysql> select * from peoples where match(username) against('32');

2.设置索引

(1)建表时设置

直接在后面写:索引类型(列名),即可,举例:

CREATE TABLE people1 (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
username varchar(45) NOT NULL,
password char(32) not null comment '密码', 
time datetime,
PRIMARY KEY (id),
unique(username),
key(password),
index(time)
);
(2)添加索引

当表已经建好时,要添加索引可以通过下面命令实现:

alter table 表名 add 索引类型(列名);
举例:
mysql> alter table peoples add fulltext(username);

3.查看索引

通过命令:

desc 表名

可以查看某个表下的索引(在key列),还有下面命令也可以查看索引,并且更详细:

show index from 表名\G
    原文作者:dawsonenjoy
    原文地址: https://www.jianshu.com/p/25dffa3015e1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞