我自己写了一个联查询,结果查询b表时候,把mysql进程占用了100%cpu b表数据在2万条左右。。 表a:
字段: name sex chengji fenshu ....
aa nan dsf dfd
bb .......................
cc .......................
dd .......................表b:
name leibie jilu .....
aa nan dfd
bb .......................
aa .................. dfd.
ccc .......................
aa nan dfd
bb .......................
aa .......................
ccc .......................要求:联动查询:先查询表b 查询所有字段name和字段jilu内容相同的记录并且记录总数<3所有记录。。
查询到后,读取name ,根据name值在去查询数据库a中。。select * 后 把读取的a表内容输出。。(这里读取的是字段sex是nan的所有记录)
请高手多谢!!
字段: name sex chengji fenshu ....
aa nan dsf dfd
bb .......................
cc .......................
dd .......................表b:
name leibie jilu .....
aa nan dfd
bb .......................
aa .................. dfd.
ccc .......................
aa nan dfd
bb .......................
aa .......................
ccc .......................要求:联动查询:先查询表b 查询所有字段name和字段jilu内容相同的记录并且记录总数<3所有记录。。
查询到后,读取name ,根据name值在去查询数据库a中。。select * 后 把读取的a表内容输出。。(这里读取的是字段sex是nan的所有记录)
请高手多谢!!
ON A.NAME=B1.NAME
where 3>(select COUNT(*) FROM b WHERE B1.name=name AND B1.jilu=jilu)
AND A.sex='nan'在B的namE、jilu上建立索引
from a left join b on a.name=b.name and a.fenshu=b.jilu
group by a.name
having count(*)<3