MySQL 索引失效原因

type:system>const>ref_eq>ref>range>index>all

1、尽量不要使用类型转换,否则导致索引失效。

select name from user where name = 123;(name字段为varchar类型)

2、like尽量以常量开头,不要以‘%’开头,否则索引失效。

如果必须使用模糊查询,可以使用索引覆盖挽救一部分(查询的列和查询条件都为相同索引列)。

3、尽量不要使用or查询,否则索引失效。

select * from user where name='abc' or cid=12; 左侧的name索引也将失效

4、复合索引不能使用 <、>、<>、!=或则is_null (is not null),否则自身以及右侧的索引全部失效。

5、复合索引不要跨列或则无序使用(最佳左前缀)

复合索引尽量使用全索引怕匹配

6、不要在索引上进行任何操作,否则索引失效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值