首页 > Mysql的查询与优化的问题

Mysql的查询与优化的问题

某个字段a有个值为

aaa,bbb

我希望查找该字段匹配这两个标签的所有值,如

aaa,bbb,ccc
aaa,ddd,bbb
bbb,eee,fff,aaa

就是只要含有aaa的同时也含有bbb

最有效率的查询方法是什么

注意:aaa,bbb不一定只有这两个还可能是多个


select * from A where a like '%aaa%' UNION select * from A where a like '%bbb%' 。使用联合方法查询,比运用and语句要高效很多。


WHERE FIND_IN_SET('aaa','aaa,bbb,ccc') AND FIND_IN_SET('bbb','aaa,bbb,ccc')

注意:aaa,bbb不一定只有这两个还可能是多个

WHERE FIND_IN_SET('aaa','aaa,bbb,ccc') 
AND FIND_IN_SET('bbb','aaa,bbb,ccc') 
AND FIND_IN_SET('ccc','aaa,bbb,ccc')  
...

参见: 在MySQL字段中使用逗号分隔符

【热门文章】
【热门文章】