数据库索引失效的情况

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

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

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

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

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

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

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

相关推荐
JOJO数据科学2 分钟前
DbGate Electron 鸿蒙 PC 适配全记录:从桌面数据库工具到 OpenHarmony HAP
数据库·electron·harmonyos
初圣魔门首席弟子4 分钟前
AI Agent 核心原理:工具调用(Function Calling)完整工作流程详解
前端·数据库·人工智能
半夜修仙5 分钟前
延迟队列的介绍及常见问题
java·数据库·中间件·rabbitmq
herinspace7 分钟前
管家婆云辉煌开单优化
服务器·数据库·电脑·管家婆软件·财务软件
码云骑士9 分钟前
24-Django请求全链路-WSGI到数据库响应的完整旅程
数据库·python·django
霖霖总总12 分钟前
[MongoDB小技巧09]深入浅出 MongoDB 逻辑运算符:$and、$or、$nor、$not 原理与实战
数据库·mongodb
小丶舟13 分钟前
MiMo Code实测:5场景对标Claude Code,3个踩坑与选型指南
数据库·人工智能·数据挖掘
z_鑫16 分钟前
深入理解MyBatis:collection集合封装的底层原理与实现细节
java·开发语言·数据库·spring boot·mybatis
uoKent24 分钟前
Redis环境搭建与redis-cli基础操作
数据库·redis·缓存
倔强的石头10628 分钟前
《Kingbase护城河》——深度解密数据库行锁冲突与等待事件架构
java·数据库·架构