MySQL全文搜索简介
相信大家一定对在一个大表中使用LIKE ‘%%’作为主要筛选条件进行查询的人深恶痛绝,完全没有办法用索引,简直就是效率杀手。更严重的是,它会占住数据库的CPU资源,导致其他业务无法进行。然而更可悲的是,有时我们在业务中又无法避免这样的使用,比如查询评论中的敏感词。
好消息是,MySQL5.6可以在Innodb上使用全文索引,并在5.7.6以后开始支持中文全文搜索,因此,你要做的只是在需要全文索引的列上加上索引:
ALTER TABLE table ADD FULLTEXT INDEX fulltxt_col1_col2 (col1, col2);
当然,并不是说这样你就可以放心大胆的使用LIKE ‘%%’了,全文搜索需要特殊的语法支持,下面的内容就是对这种语法的介绍,更准确全面的介绍请参考MySQL官方文档
这种语法简单的说就是MATCH…AGAINST:
MATCH (col1,