性能与索引要点
- '张%' 这种前缀匹配有机会走索引,速度尚可
- '%手机%' 这种前后都有 % 必然全表扫描
- 大数据量模糊搜索建议上全文索引或 Elasticsearch
- 能在 WHERE 里先加其它条件缩小范围再 LIKE 更优
- LIKE 比较默认不区分大小写,受字段 COLLATE 影响
- 避免对 LIKE 列再包函数,否则索引必失效
性能与索引示例
-- 先缩小范围再模糊,比裸 LIKE 快得多
SELECT * FROM product
WHERE category = 'book' AND name LIKE '%编程%';
避坑提醒:模糊搜索卡慢时,先问自己『是不是 % 打头了』。前缀通配几乎必全表扫,真要搜内容考虑全文索引。