索引什么情况下会失效

索引是为了使数据查询的更快,但索引并不是万能的,很多情况下是会失效的,今天在刷视频时,发现原来是有个七字口诀的:模型数空运最快

:代表模糊查询,在使用like  ‘%...%’与like  ‘%...’的情况下都是不走索引的。

字符串类型的索引在写入时是根据字符串的字典序列进行排序的,从第一个字符开始往后依次进行排序,如若使用了非前缀的模糊查询,则排序规则失效。

模糊匹配只在like  ‘...%’走索引。

:代表数据类型,若使用时数据类型与原定义的数据类型不一致也是不走索引的。

不同的数据类型排序规则是不一致的,例如:字典序排序是指按照字母表的顺序对字符串进行排序;长度排序是指按照字符串的长度对字符串进行排序;数字排序是指按照数字的大小对字符串进行排序。

只有遵循原数据格式才走索引。

:代表函数,若索引字段值加了函数,也是不走索引的。

索引字段是按照字段的原始值进行排序的,若使用了函数,则改变了数据的原始值。

:代表空值,索引字段值为null的情况也是不走索引的。

索引在排序时是不存值null值的,若在查询条件里加条件  is  null或is not null都是不走索引的。

:代表运算,即对索引字段使用了加减乘除的运算也是不走索引的。

索引字段是按照字段的原始值进行排序的,若使用了运算,则改变了数据的原始值。

:代表最左原则,复合索引若查询的字段不是从第一个复合索引里的字段开始的,也是不走索引的。

索引在排序时,遵循的是从左到右的排序规则。

:代表全表扫描更快,如果优化器认为全表扫描比走索引查询的更快,则不走索引。

一般数据量比较小或者查询返回的数据量过大时,走索引会增加IO消耗。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值