我需要在一个列中搜索一个字符串,多次搜索同一字符串的变体,所以我这样做了
SELECT *
FROM `users`
WHERE user = 'king'
OR alias = 'king'
OR aliases LIKE '%,king%'
OR aliases LIKE '%king,%'
OR aliases LIKE '%king,%'
aliases
列将包含用逗号分隔的单词,例如king,queen,knight
等但是因为像它一样慢,所以我想知道是否有什么方法可以优化此查询
最佳答案
尝试这个:
SELECT *
FROM `users`
WHERE user = 'king'
OR alias = 'king'
OR FIND_IN_SET ('king', aliases)>0;