我们使用mysql进行模糊查询时可能经常会考虑用like和%,但这不能很好的利用到索引,只有当出现“你好%”这种格式的模糊查询时,mysql执行器会帮我们选择走索引,而其他的不符合最左前缀的不走索引而降级到全表查询。
我们在name字段加了全文索引,用于对用户名的模糊搜索,尽量使用到索引
这是使用match(col) against('字符串')的一个模糊查询sql
可以看到explain结果的key字段表明了是使用了全文索引的
具体点说,全文索引的单位是词(具体是使用了倒排索引,即对词做一个文件的归属划分),而LIKE匹配的是字符
但全文索引也有它的弊端,就是搜索结果不是非常准确,但在实际上线项目中效果还是非常不错的,还未发现不准确的结果。