zcyxm 2012-10-23 11:30:13 3403次浏览 3条回复 0 0 0

两个表,里面有共同的一个字段,用户的uid,表一的uid包含表二的uid,现在怎么样用性能最好的sql语句,选出表一中uid不存在表二中的数据?

数据量不大,目前估计表一4W多数据,表二2w多。

我自己写了条语句,运行了一下,竟然花了36s

SELECT erj.uid, erj.first_job, erj.second_job,erj.state, erj.create_time from `new_resume`.`e_resume_job_relation` as erj  WHERE erj.firm_id='10' AND erj.state<>0 AND NOT EXISTS (SELECT erc.id FROM `new_resume`.`e_resume_search` as erc  WHERE erc.uid = erj.uid AND erc.eid = '10'  );

同样的我改成not in 也花了36s多

36s是不可能接受的啊。。

求一条性能比较高的sql语句

您需要登录后才可以回复。登录 | 立即注册