(58)课78:尽量使用覆盖索引(查询使用了索引,并且需要返回的列,在该索引中已经全部能够找到),减少 select * 的使用。恰当的使用联合索引,可避免回表查询

(144)

++先素材准备

在这里插入图片描述

++ 开始讲解与笔记

在这里插入图片描述

++测试结果

在这里插入图片描述
++

在这里插入图片描述
在这里插入图片描述
id 是主键,是一个聚集索引。 name 字段建立了普通索引,是一个二级索引(辅助索引)。
B. 执行 SQL : select * from tb_user where id = 2 ;

在这里插入图片描述
根据 id 查询,直接走聚集索引查询,一次索引扫描,直接返回数据,性能高
C. 执行SQL: select id, name from tb_user where name = ‘Arm’ ;

在这里插入图片描述

虽然是根据 name 字段查询,查询二级索引,但是由于查询返回在字段为 id,name,在 name 的二级索引中,
这两个值都是可以直接获取到的,因为覆盖索引,所以不需要回表查询,性能高

D. 执行SQL: selet id, name, gender from tb_user where name = ‘Arm’ ;

在这里插入图片描述

由于在 name 的二级索引中,不包含 gender ,所以,需要两次索引扫描,也就是需要回表查询,性能相对较差一点。

++练习题

在这里插入图片描述

(145)

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值