MySQL中索引失效的六大场景

效验创建的索引是否生效

使用expalin + sql语句来实现
key如果为null 则索引无效或者没有索引
如图所示key不是null则索引生效
在这里插入图片描述

场景1

联合索引不满足最左匹配原则
满足的查询顺序有

1、A+B+C
2、A+B
3、A+C
4、A
~~
不满足的有
1、B+C
2、B
3、C
4、C+B

在这里插入图片描述

场景2

使用错误的模糊查询
字段名 like ‘张%’; 有效
字段名 like ‘%张’; 无效
字段名 like ‘%张%’; 无效
如图为无效的模糊查询
在这里插入图片描述

场景3

索引查询使用了运算了操作(+、-、*、/)
在这里插入图片描述

场景4

使用了mysql内置函数
为了提高数据库性能一般不会使用内置函数进行操作,尽量在程序内进行一些操作
在这里插入图片描述

场景5在这里插入图片描述

使用了隐式类型转换
在这里插入图片描述

场景6

使用了in not null 则索引失效
in null 索引有效
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值