news 2026/9/6 21:47:48

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/9/4 5:36:10

免费查文献的网站推荐:实用学术资源获取平台汇总

盯着满屏的PDF&#xff0c;眼前的外语字母开始跳舞&#xff0c;脑子里只剩下“我是谁、我在哪、这到底在说什么”的哲学三问&#xff0c;隔壁实验室的师兄已经用AI工具做完了一周的文献调研。 你也许已经发现&#xff0c;打开Google Scholar直接开搜的“原始人”模式&#xff…

作者头像 李华
网站建设 2026/9/2 23:31:36

Rembg模型压缩教程:减小体积保持精度

Rembg模型压缩教程&#xff1a;减小体积保持精度 1. 智能万能抠图 - Rembg 在图像处理与内容创作领域&#xff0c;自动去背景是一项高频且关键的需求。无论是电商商品图精修、社交媒体素材制作&#xff0c;还是AI生成内容的后处理&#xff0c;精准、高效的背景移除能力都至关…

作者头像 李华
网站建设 2026/9/2 20:46:25

掌握Qwen2.5-7B微调技巧|基于LLaMA-Factory的参数高效调优

掌握Qwen2.5-7B微调技巧&#xff5c;基于LLaMA-Factory的参数高效调优 一、前言 随着大语言模型&#xff08;LLM&#xff09;在自然语言处理领域的广泛应用&#xff0c;如何高效地对预训练模型进行定制化微调成为开发者关注的核心问题。本文将围绕阿里云最新发布的 Qwen2.5-7B-…

作者头像 李华
网站建设 2026/9/5 14:34:02

『NAS』在绿联部署今日热榜-Dailyhot

点赞 关注 收藏 学会了 整理了一个NAS小专栏&#xff0c;有兴趣的工友可以关注一下 &#x1f449; 《NAS邪修》 Dailyhot 是一款开源的全网热榜聚合工具&#xff0c;能一站式汇聚 27 主流平台的实时热点&#xff0c;帮助用户快速掌握全网脉搏。 在NAS里可以利用Docker部署它…

作者头像 李华