news 2026/1/23 12:21:41

MySQL 数据库入门到大牛,索引失效的几种情况

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL 数据库入门到大牛,索引失效的几种情况

MySQL 数据库入门到大牛,索引失效的几种情况

一、个人总结

  • 1、AND 连接的列,有联合索引,单列索引失效。
    • WHERE name = ‘JetLi’ and age = 25。
    • 如果建立了 (name, age) 联合索引,通常不需要再单独建立 name 单列索引,否则会造成冗余,增加写入成本。
  • 2、搜索条件没有使用联合索引最左边的列,联合索引失效。
    • WHERE age = 25。
    • name 和 age 有联合索引,联合索引失效。
  • 3、对列进行运算、函数、类型转换会导致索引失效。
    • WHERE name = 123 (name 是字符串类型,123 是数字)。
  • 4、范围条件右边的列,索引失效。
    • WHERE age > 25 AND name = ‘JetLi’。
    • age 和 name 有联合索引。联合索引失效。
    • 建议把范围查询的字段放在联合索引的最后,即 name 和 age。
  • 5、不等于条件,索引失效。
    • WHERE age <> ‘25’。
    • age 是不等于条件,age 单列索引失效。
  • 6、is not null,索引失效。
    • WHERE age is not null。
    • age 单列索引失效。
  • 7、通配符开头,索引失效。
    • WHERE name like ‘%Jet’。
    • name 单列索引失效。
  • 8、OR 前后存在没有索引的列,索引失效。
    • WHERE name = ‘JetLi’ OR age = 25。
    • name 有单列索引,age 没有单列索引,name 上的单列索引失效。
  • 9、数据库和表字符集不一致,索引失效。
    • 两个字符集不一致的表连接查询
  • 10、InnoDB 存储引擎,如果使用主键自增,而我们插入数据的主键忽大忽小,索引失效。
    • 这个不算索引失效,但是这种情况也会影响效率。

二、AI 验证优化

你的总结已经涵盖了 MySQL 索引失效的绝大多数核心场景,非常棒!特别是对联合索引最左前缀原则、函数操作以及类型转换的总结非常准确。
1、 完善后的“索引失效清单”

为了方便你记忆,我把我们讨论的内容整理成一个表格:

失效场景典型 SQL 示例核心原因优化建议
最左前缀原则WHERE age=25(联合索引为(name,age))跳过了联合索引最左列调整查询条件或索引顺序
索引列计算/函数WHERE YEAR(create_time) = 2023破坏了索引有序性将计算移到等号右边
类型转换WHERE phone=138...(phone为字符串)隐式转换导致全表扫描保持数据类型一致
左模糊查询WHERE name LIKE '%Li'B+树无法反向匹配改为右模糊LIKE 'Li%'
OR 条件陷阱WHERE indexed=1 OR not_indexed=2无索引列导致全表扫描使用UNION拆分查询
范围查询阻断WHERE a>1 AND b=2(联合索引(a,b))范围查询后索引断裂将范围字段放在联合索引末尾
不等于操作WHERE status != 'active'需扫描大部分数据尽量用IN列举代替
IS NOT NULLWHERE name IS NOT NULL优化器认为全表扫描更快字段设置为NOT NULL默认空值
字符集不一致JOIN时两边字符集不同需要做隐式转换统一表和字段的字符集

2、 总结

你的总结已经非常全面了,以上补充主要是为了严谨性

最后给你一个排查索引问题的终极建议:
永远不要靠猜!使用 EXPLAIN 或 EXPLAIN FORMAT=JSON 命令来查看执行计划。

  • 看 type 列:如果是 ALL 就是全表扫描(索引失效);如果是 ref/range/const 说明用了索引。
  • 看 key 列:到底用了哪个索引。
  • 看 Extra 列:是否有 Using where; Using filesort 或 Using temporary,这些也是性能杀手。

希望这些建议能帮你的总结更加完美!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/16 9:25:55

Rembg模型测试:低光照图片抠图效果

Rembg模型测试&#xff1a;低光照图片抠图效果 1. 引言&#xff1a;智能万能抠图 - Rembg 在图像处理与内容创作领域&#xff0c;自动去背景&#xff08;Image Matting / Background Removal&#xff09;是一项高频且关键的需求。无论是电商商品图精修、社交媒体头像设计&…

作者头像 李华
网站建设 2026/1/15 22:59:46

智能抠图Rembg:Logo提取最佳实践教程

智能抠图Rembg&#xff1a;Logo提取最佳实践教程 1. 引言 1.1 业务场景描述 在品牌设计、电商运营和数字内容创作中&#xff0c;Logo提取是一项高频且关键的任务。无论是将企业标识嵌入宣传材料&#xff0c;还是为电商平台准备透明背景的商品图&#xff0c;都需要高质量的图…

作者头像 李华
网站建设 2026/1/16 12:42:04

ASTM D6653M标准:医疗制药高海拔运输包装测试指南

在医疗器械、生物制药、疫苗等产品的运输环节&#xff0c;高海拔环境引发的压力差是易被忽视的风险点。无论是 飞机运输&#xff0c;还是山地陆路运输&#xff0c;压力变化都可能导致包装破损、密封失效&#xff0c;进而造成产品污染、失效等严重后果。ASTM D6653/D6653M-13&am…

作者头像 李华
网站建设 2026/1/21 4:33:49

使用vLLM和LoRA微调Qwen2.5-7B-Instruct的最佳实践

使用vLLM和LoRA微调Qwen2.5-7B-Instruct的最佳实践 引言&#xff1a;为何选择vLLM LoRA进行高效推理&#xff1f; 在大语言模型&#xff08;LLM&#xff09;的落地应用中&#xff0c;如何在保证性能的前提下提升推理效率、降低资源消耗&#xff0c;是工程实践中最核心的挑战…

作者头像 李华
网站建设 2026/1/22 4:35:02

ResNet18模型解释性分析:低成本GPU实验方案

ResNet18模型解释性分析&#xff1a;低成本GPU实验方案 引言&#xff1a;为什么需要解释ResNet18的决策&#xff1f; 作为计算机视觉领域的经典模型&#xff0c;ResNet18以其轻量高效的特点广泛应用于图像分类任务。但当我们把训练好的模型投入实际应用时&#xff0c;常常会遇…

作者头像 李华