Mysql学习(4)之索引

索引的概念:
1.索引就相当于一本书的目录,通过目录可以快速的找到对应的资源。
在数据方面,查询一张表的时候有两种方式:
第一种方式:全表扫描
第二种方式:根据索引检索(高效率)
2.什么时候创建索引
数据量庞大
该字段很少的DML操作
该字段经常出现在where子句中
注意:主键和具有unique(唯一约束)约束的字段自动添加索引,所以主键查询效率较高,尽量使用主键查询。
3.查看sql语句的执行计划-EXPLAIN+sql语句

EXPLAIN SELECT ename,sal FROM emp WHERE sal=5000;

如下图片:
type=ALL表示全表扫描,没有索引
在这里插入图片描述
创建一个索引,在sal上添加
索引格式:create index 索引名字 on 表名(字段名)

CREATE INDEX emp_sal_index ON emp(sal)

在查看执行计划,没使用索引查询的数据rows=14条,使用索引之后rows=1条
在这里插入图片描述
4.索引底层采用的数据结构是:B+Tree

5.索引的执行原理 如下图(从B站视频截图的)
在这里插入图片描述
6.索引的分类
单一索引:给单个字段添加索引
复合索引:给多个字段联合起来添加1个索引
主键索引:主键上会自动添加索引
唯一索引:有unique(唯一约束)约束的字段上会自动添加索引

7.索引什么时候失效
模糊查询的时候,第一个通配符使用的是%,这个索引是失效的

例如:select ename from emp where ename like '%A%'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

微微笑再加油

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

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

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

打赏作者

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

抵扣说明:

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

余额充值