当前位置:首页 > PS视频 > 正文内容

最核心的 8 大索引失效原因

编辑3个月前 (04-27)PS视频68

一、最核心的 8 大索引失效原因(必背)

1. WHERE 子句中对索引列做运算 / 函数

索引直接失效,全表扫描
sql
-- 失效SELECT * FROM user WHERE YEAR(create_time) = 2025;SELECT * FROM user WHERE id + 1 = 100;-- 生效SELECT * FROM user WHERE create_time >= '2025-01-01';SELECT * FROM user WHERE id = 99;

2. 模糊查询 LIKE 以 % 开头

sql
-- 失效SELECT * FROM user WHERE name LIKE '%张三';-- 生效SELECT * FROM user WHERE name LIKE '张三%';

3. 使用了!= 、 <> 、 IS NOT NULL

sql
-- 失效SELECT * FROM user WHERE name != '张三';

4. 索引列使用隐式类型转换

字符串字段传数字,最容易踩坑
sql
-- phone 是 VARCHAR(11),这样写索引失效SELECT * FROM user WHERE phone = 13800138000;-- 正确SELECT * FROM user WHERE phone = '13800138000';

5. 复合索引不满足「最左前缀原则」

复合索引 (a,b,c)
  • 必须从最左边列开始用

  • 跳过前面的列,后面索引全部失效

sql
-- 索引 (a,b,c)WHERE c=?      -- 失效WHERE b=? AND c=?  -- 失效WHERE a=? AND c=?  -- a 生效,b、c 失效WHERE a=? AND b=? AND c=? -- 全部生效 ✅

6. OR 连接了非索引列

只要一边没有索引,整个索引失效
sql
-- name 有索引,age 没有 → 索引失效SELECT * FROM user WHERE name='张三' OR age=20;

7. MySQL 优化器判断:全表更快

数据量太少,MySQL 直接不走索引

8. 索引失效 / 损坏 / 没分析表

sql
ANALYZE TABLE user;  -- 重新分析索引

二、怎么判断索引到底有没有生效?

执行 EXPLAIN 看结果:
sql
EXPLAIN SELECT * FROM user WHERE name='张三';

看这 2 列就够:

  1. type
    • ref / range = 索引生效 ✅

    • ALL = 全表扫描,索引失效 ❌

  2. key
    • 显示索引名 = 用到索引 ✅

    • NULL = 没用到 ❌


三、索引不生效 快速排查口诀(背会)

  1. 索引列别运算、别函数

  2. Like 不要 % 开头

  3. 字符串必须加引号

  4. 复合索引遵守最左前缀

  5. Or 慎用,非索引列会破坏索引

  6. != <> Not Null 会导致失效

  7. 数据太少 MySQL 不走索引


扫描二维码推送至手机访问。

版权声明:本文由手机数据加工厂发布,如需转载请注明出处。

本文链接:https://cryp6.com/?id=118

“最核心的 8 大索引失效原因” 的相关文章

苹果手机图片怎么备份 iPhone怎么备份照片?

苹果手机图片怎么备份 iPhone怎么备份照片?

一、苹果手机图片怎么备份1、当大家在微信、微博、抖音等应用上看到感兴趣的图片时,会将图片保存到相册中,随着图片越存越多,大家需要将保存在相册里的图片进行备份,此时可以使用电脑软件iMazing来辅助完成。打开iMazing软件后,点击图1红框标出的“照片”入口,进入照片管理界面中。图1:进入照片管理...

有哪些方法可以延长手机的使用寿命?

延长手机寿命 完整极简指南(普通人照着做,多用 3–5 年)分为:电池、散热、存储、系统、使用习惯、隐私硬件保护,全是实用干货,无废话。一、电池寿命(手机最易老化的部件)拒绝满电长期插电电量保持:20%~80% 最佳,不要天天 100% 过夜充。杜绝边玩游戏 / 刷视频 边充电严重发热,极...

如何清理手机中的重复文件?

如何清理手机中的重复文件?

一、安卓(华为 / 小米 / OPPO/vivo)1. 一键清理所有重复文件(照片 + 文档 + 安装包)打开手机管家 / 安全中心 /i 管家进入清理加速 / 空间清理扫描完找到重复文件 → 去清理全选重复项 → 删除(自动保留一份)2. 相册重复照片 / 视频(最占空间)华为...

云空间不够用?解决办法

一、清理无用数据(最快见效)删除重复照片、模糊截图、过期视频、无用录屏,这类文件占用空间最大。清理软件缓存、垃圾文件、过期安装包、压缩包。删掉不再需要的聊天记录、旧文件、离线缓存内容。二、本地备份,释放云端空间用电脑有线连接手机,把照片、视频、大文件批量保存到电脑硬盘。重要资料存电脑本地,不用全部上...

 如何在电脑上关闭云同步功能?

如何在电脑上关闭云同步功能?

下面分 Windows 和 Mac,把系统自带云同步和 ** 常见第三方云盘(OneDrive/iCloud/ 百度网盘)** 都一次性关掉,适合你要 “改记录不被覆盖” 的场景。Windows 电脑:关闭所有云同步1. 先关 OneDrive(最关键)右下角任务栏,找到蓝色云朵 OneDrive...

如何在关闭云同步功能后防止数据被自动恢复/覆盖?

关闭云同步后,防止数据自动恢复、被云端覆盖的方法一、彻底切断云端连接全程断开网络修改文件、记录期间,关闭电脑和手机的 WiFi、移动数据。离线状态下,设备无法连接云端,就不会自动下载旧数据、覆盖修改内容。退出云端账号电脑退出 OneDrive、百度网盘账号;手机退出品牌云服务、iCloud 账号。账...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。