今天来说一下模糊搜索的优化测试
经常在开发中经常有会用到模糊搜索的 地方 最常见的就是 商品搜索。 关键字搜索等等
接下来我们来看一条语句
SELECT * FROM `DEMO` WHERE `FIELD` LIKE%KEYWORD%;
这是一条模糊搜索的语句 在语句中 我们查询了keyword 关键字,如果在数据比较多的情况下呢。我们肯定都会用索引来提高搜索速度。 而这条语句用了全表查询、(%%)双百分号搜索阻止了索引。
再看一条语句
SELECT ` NAME ` FROM `DEMO` WHERE ` FIELD` LIKE KEYWORD%;
这条语句没有阻止索引的进入。但是我们要考虑到并非所有要查询的关键字都在开头。所以说这条语句也是不适用的
这个时候我们想到了CLOATE()。(位置)
SELECT `NAME` FROM `DEMO` WHERE LOCATE(’KEYWORD‘, `FIELD`)>0;、
可以测试一下这三条语句的运行速度。