为了账号安全,请及时绑定邮箱和手机立即绑定

Mysql 索引

标签:
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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
232
获赞与收藏
1002

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消