有一个需求,需要对主题和正文,进行模糊匹配,前期时间不够,直接对MySQL进行模糊匹配,后期改造为ES搜索引擎。
在 MySQL 中,进行模糊匹配时,需要特别注意性能问题,因为模糊匹配(如使用 LIKE '%keyword%'
)通常会导致全表扫描,进而影响查询速度。
以下是一些提升模糊匹配查询性能的建议:
1. 使用 LIKE
与前缀索引
如果可以将模糊匹配限制为前缀匹配,MySQL 可以使用索引,从而提升性能。例如:
SELECT * FROM emails WHERE subject LIKE 'keyword%' OR body LIK