某项目要提供search功能,我果断的使用 where keyword like ‘%keyword%’
然后觉得无比幼稚,进行性能测试发现在900w行的表中做like,需要10+s,难以接受
网上有资料显示,like会使用索引,locate不会使用索引,而我用where locate(‘keyword’,keyword) > 0 做测试,两者消耗时间相当,所以like的性能不是一般的差
于是改用FullText索引,同时使用 where match(keyword) against (‘keyword’) ,速度超快。不过全文索引是带语义的