我需要在列中搜索一个字符串,多次查找相同字符串的变体,所以我这样做了
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
等
但因为喜欢本身很慢,我想知道是否有任何方法可以优化此查询
答案 0 :(得分:1)
试试这个:
SELECT *
FROM `users`
WHERE user = 'king'
OR alias = 'king'
OR FIND_IN_SET ('king', aliases)>0;