我有简单的搜索功能,使用
WHERE data LIKE '%keyWord%';
但是如果我使用很多关键词怎么办
“很多关键词”
我的数据包含
“一些关键数据”
即使有一个单词匹配(在本例中为“key”),我也希望它们能够匹配。 这可以通过一个 MySQL 查询来实现吗?
最佳答案
除非您的表包含几行,否则应避免使用“%text%”这样的行,因为无法使用索引。
相反,您应该考虑在列数据上添加全文索引并执行全文搜索,例如
ALTER TABLE mytable ADD FULLTEXT(data);
SELECT col1, col2, ... FROM mytable WHERE match(data) AGAINST("word1 word2 word3" in BOOLEAN MODE);
关于mysql - 检查 string1 的任何部分是否与 string2 的任何部分匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41387882/