数据库索引失效的情况

1.对添加了索引的字段进行函数运算

2.如果是字符串类型的字段,如果不加单引号也会导致索引失效

3.如果最索引字段使用模糊查询,如果是头部模糊索引将失效,如果是尾部模糊索引则正常

4.如果使用or分割符,如果or前面的条件中的列有索引,后面的列没有索引,那么涉及到的索引都不会被用到
就比如有一个条件没有用到索引,那么必定会去全表查,这时再走索引反而影响性能

5,如果mysql评估使用索引比全表更慢,则不使用索引,但是我们一般忽略这个问题因为一个是不稳定,二是不同版本下的优化器执行也不一样

6.类型转换:如果索引列存在类型转换,那么也不会走索引,比如某列为字符串类型,而查询的时候设置了 int 类型的值就会导致索引失效;

7.非最左匹配:当使用联合索引时,未遵循最左匹配原则,则不能正常使用索引,也就是索引失效了;

相关推荐
严同学正在努力8 分钟前
VMware安装银河麒麟V10操作系统X86_64全过程
数据库·鸿蒙系统·kylin
智源研究院官方账号19 分钟前
众智FlagOS 1.6发布,以统一架构推动AI硬件、软件技术生态创新发展
数据库·人工智能·算法·架构·编辑器·硬件工程·开源软件
dishugj24 分钟前
[SQLSERVER] Lock Waits/sec参数含义详解
数据库·oracle·sqlserver
我科绝伦(Huanhuan Zhou)26 分钟前
Oracle锁等待深度解析:从理论到实战的全方位指南
数据库·oracle
小Mie不吃饭28 分钟前
Oracle vs MySQL 全面对比分析
数据库·mysql·oracle
我科绝伦(Huanhuan Zhou)29 分钟前
KingbaseES数据库备份与恢复深度解析:原理、策略与实践
数据库·金仓数据库
烤鱼骑不快40 分钟前
ubuntu系统安装以及设置
linux·数据库·ubuntu
BORN(^-^)1 小时前
达梦数据库索引删除操作小记
数据库·达梦
!chen1 小时前
Oracle 高风险锁等待快速诊断手册
数据库·oracle
保定公民1 小时前
DMDRS数据库同步用户最小权限脚本示例
数据库·sql·达梦数据库·数据同步·dmdrs·同步权限