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

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

编辑2个月前 (04-27)PS视频9

一、最核心的 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://www.cryp6.com/?id=118

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

苹果iPhone+Mac如何开启WiFi+蓝牙

下面直接给你「一步到位」的极简版,照着点就行(为了隔空投送,**Wi‑Fi 和蓝牙都要开,不需要连同一个 Wi‑Fi 也能投送**)。 --- iPhone 打开 Wi‑Fi + 蓝牙(两种方法) 方法1:控制中心(最快) - 全面屏 iPhone(带刘海):**右上角往下滑**...

有哪些软件可以实现手机和电脑之间的高效数据管理?

有哪些软件可以实现手机和电脑之间的高效数据管理?

下面按「苹果生态 / 安卓+Windows / 全平台通用」三类,给你整理**真正能落地、高效不乱的手机↔电脑数据管理软件**,每款讲清楚:**能干啥、适合谁、优缺点**。 --- ## 一、iPhone + Mac(苹果生态最优) ### 1. 系统自带:隔空投送 + 访达(免费,首...

 iPhone如何快速整理你的相册 iPhone怎么备份照片比较方便

iPhone如何快速整理你的相册 iPhone怎么备份照片比较方便

一、iPhone如何快速整理你的相册当手机中的照片或视频太多,管理变得越来越麻烦时,我们可以利用相册中自带的功能对照片进行分类,下面看看iPhone如何快速整理相册。1、打开手机中的【照片】,点击底部导航栏中的【相簿】按钮。在页面左上方点击【+】号图标,在弹出的列表中选择【新建相簿】,如下图所示。图...

手机和电脑的运存和储存容量是否可以扩展?

手机 vs 电脑:运存、储存 能否扩展?【极简大白话】先记住两个关键:运存(RAM)= 管流畅、后台储存(ROM / 硬盘)= 存照片、文件、软件一、手机端(iPhone + 安卓统一结论)1. 手机运存:❌完全不能扩展出厂焊死在主板上,无法更换、无法加装所谓「内存融合 / 虚拟运存」:只是拿储存空...

如何关闭手机、电脑的云同步功能

如何关闭手机、电脑的云同步功能

下面分手机(iOS / 安卓主流品牌)和电脑(Windows/Mac),一步步教你关闭云同步(可选择性关,也可全关),以及关闭后如何防止数据被自动恢复 / 覆盖。一、苹果手机(iPhone/iPad):关闭 iCloud 同步1)选择性关闭(推荐:只关照片 / 文档,保留联系人等)打开 设置 → 点...

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

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

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

发表评论

访客

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