【11】Mysql索引失效场景有哪些?

本文探讨了MySQL中导致索引失效的一些场景,包括联合索引不满足最左匹配原则、使用`select *`、索引列参与运算、错误的`like`使用、类型隐式转换、使用`or`操作、大范围查找以及两列作比较。通过举例和分析,揭示了这些情况如何影响索引的使用,并提供了关于成本计算的见解。
摘要由CSDN通过智能技术生成

准备数据

表
结构
结构
索引
索引

这里插入了十万条数据,创建了name和code联合索引,还有age索引。mysql版本:8.0.27。

联合索引不满足最左匹配原则

联合索引排序它会首先按照联合索引的第一个列进行排序,然后再按照第二个列进行排序,依此类推,不能跳过前边的列查询直接查询后边的列。

二级索引
二级索引

举例:

第一个例子:

EXPLAIN select CODE,name from student where code = 'aaaaaa';

我们的联合索引是name_code。在查询code的时候跳过了name没有遵循最左前缀原则。

结果是:

image-20230609132609341
image-20230609132609341

Using index:索引覆盖。

rows:516,表示估计的结果集的行数或访问的行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值