多年来,当我希望我的用户在我的数据库中搜索某个字段时,他可以在其中键入他想要的任何内容,我使用一种算法来分解单词并单独搜索每个单词……一团糟。
例如,如果用户在搜索框中键入“aaa bbb ccc”,我不喜欢使用:
SELECT id
FROM table
WHERE description LIKE '%aaa bbb ccc%'
因为有时用户输入的内容顺序不对,上面的查询将找不到。我通常做的是分解字符串并将其与 PHP 连接起来,这样结果就变成了:
SELECT id
FROM table
WHERE description LIKE '%aaa%'
AND description LIKE '%bbb%'
AND description LIKE '%ccc%'
但今天在与 friend 交谈后,我想知道是否有一些 native 方法可以使用 MY SQL 更快地完成此操作?
最佳答案
你想做的叫做full text search现在大多数关系数据库都支持它,包括 mysql。
关于mysql - 如何使用 like 进行良好的 sql 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46394177/