⑦. is null,is not null 一般情况下也无法使用索引
EXPLAIN SELECT * FROM employees WHERE name is null
⑧. like以通配符开头(’%abc…’)
- ①. like以通配符开头(’%abc…’)mysql索引失效会变成全表扫描的操作
EXPLAIN SELECT * FROM employees WHERE name like '%Lei'
②. 解决like’%字符串%'时索引不被使用的方法(使用覆盖索引来解决)
# 使用覆盖索引,查询字段必须是建立覆盖索引字段 EXPLAIN SELECT name,age,position FROM employees WHERE name like '%Lei%'; # 如果不能使用覆盖索引则可能需要借助搜索引擎
⑨. 字符串不加单引号索引失效
EXPLAIN SELECT * FROM employees WHERE name = '1000'; EXPLAIN SELECT * FROM employees WHERE name = 1000;