【Mysql】索引

索引

1.概述

索引能提升 select语句的执行效率,用空间换取时间
 
当没有索引时:
执行select * from news where id = 9; 会进行全盘扫描,依次匹配是否相等,并且对于主键约束、唯一性约束的字段即使查找到了也会扫描到表尾
 
当创建索引后: 会形成索引的数据结构,比如二叉树
在这里插入图片描述
索引也会占用空间,使表的内存更大。同时对 dml(insert、delete、update)语句的效率有影响

 

2.分类

a.主键索引

主键索引,创建主键约束(primary key)时会自动创建主键索引

b.唯一索引 (UNIQUE)

唯一索引,创建唯一性约束(unique key)时会自动创建唯一索引

c.普通索引 (INDEX)

使用最多的

d.全局索引

一般Mysql中不使用全文索引,而是使用:全文搜索
Solr ElasticSearch (ES)

 

3.使用

a.查询索引:

show index from t01;

b.添加索引:

alter table add primary key (id); #主键索引
create unique index id_index on t01 (id); #唯一索引
create index id_index on t01 (id); #普通索引

c.删除索引:

drop index id_index on t01;
--
alter table t01
drop primary key; #主键索引
--
alter table 
drop index 索引名; #唯一索引,普通索引(同时也是删除唯一性约束、外键约束的方式)

小结:哪些列上适合使用索引:

  • 1.较频繁的作为查询条件字段应该创建索引
    select from emp where emno 1
  • 2.唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件
    select from emp where sex = ‘男’
  • 3.更新非常频繁的字段不适合创建索引
    select from emp where logincount 1
  • 4.不会出现在VHERE子句中字段不该创建索引
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

り澄忆秋、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值