数据库里索引失效的几种场景

目录

1.索引的字段区分性很差

2.索引语句在or中

3.Like 的时候,用%打头

4.索引发生了隐式变换

5.不满足最左前缀规则

6.Where条件里,索引字段有计算 或者使用了函数


1.索引的字段区分性很差

   如:某个字段是有2/3个值、大部分都是空值,少部分有值、字段值非常集中,几乎都是某个固定值

2.索引语句在or中

3.Like 的时候,用%打头

 如like ‘%公司’

4.索引字段类型发生变化

如:oracle中索引字段的字段类型修改之后,索引会失效

5.不满足最左前缀规则

   最左前缀规则:最左优先,以最左边的索引为起点,任何连续的索引都可匹配上。

联合索引 (a,b,c)   ,(a) 、(a,b)、 (abc) 这三种情况会启用索引

(b)、 (c) 、(bc) 不启用索引。 其中(ac) 会启用a的索引

在创建联合索引时,要根据业务需求,where子句中使用最频繁的一列放在最左边。这样的话扩展性较好。

**如果第一个字段是范围查询( 如:> < between ),需要单独创建索引!

6.Where条件里,索引字段有计算 或者使用了函数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值