我是小耶干运营半路出家的野生DBA——写功课只是为了我踩过的坑你们别再踩了很多新手给字段加了索引查询还是慢。不是索引没用是你写的SQL让它没法用。5种索引装睡的场景1. 对索引列用了函数WHERE DATE(order_date) 2026-04-23 -- ❌ WHERE order_date 2026-04-23 -- ✅2. 对索引列做了运算WHERE price 10 100 -- ❌ WHERE price 90 -- ✅3. 类型不匹配WHERE phone 13800000000 -- ❌ phone是varchar没加引号 WHERE phone 13800000000 -- ✅4. LIKE前置通配符WHERE name LIKE %张三 -- ❌ 最前面的%导致索引失效 WHERE name LIKE 张三% -- ✅ 前缀匹配可用索引5. OR连接的不同列只有部分有索引WHERE id 1 OR name 张三 -- 只有id有索引name没有整个OR会全表扫描快速验证方法写完SQL在前面加EXPLAIN。看key列如果显示NULL说明索引没用到如果显示你建的索引名那就放心了。小耶在手SQL不愁。你有没有遇到过“明明建了索引就是不走”的玄学情况评论区分享一起破案。