表 user
id age sex job
1 20 男 123,223,225
2 21 男 891
3 22 男 678
4 31 男 544,772
5 26 男 456
select * from user o where o.job in(123,891,544);
这样查询可以同时查询出 1,2,4 这三条记录;条件可以个值,只要输入逗号分隔的一个号就能查一条记录,此表数据量是百万级别,怎么能尽量不影响到性能查询
https://www.cnblogs.com/yanghjb/p/4307968.html
user表的job字段存储是以逗号间隔的字符串?
如果是这样,改用关系表,比如名称:userjob
列:
userid int
jobid int
查询语句:
select u.id,u.age,u.sex
from user u
join userjob uj on u.id=uj.userid
where uj.jobid in(123,891,544)