数据库索引失效类型

由于mysql数据库的结构是B+数,一颗平衡的二叉树,二叉树的特性我们都知道是判断向左走还是向右走,因此如果说不能判断该索引是需要向左走还是向右走的情况下,则会索引失效。
因此,索引失效的类型可能有以下几种(可能不全):

  1. 使用like ‘%%’ 酱紫的模糊查询
  2. 使用!=或<>不等于符号
  3. 使用or的情况下,如果or的所有查询条件都是索引的话仍是索引仍是不会失效的,否则会失效
  4. 计算式子如 where num-1=10 可以改成num=11。包括使用datediff等好函数的情况下,只要涉及到参数的一系列计算则都会索引失效。
  5. 如果MySQL估计使用全表扫描要比使用索引快,比如数据中重复键值过多的情况下,不过也没有谁会用表中状态的字段属性去建索引,了解下就行
  6. 如果MySQL估计使用全表扫描要比使用索引快,则不使用索引;(不是很懂原理,不知道是怎么评估时间的)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值