sql查询优化,项目中遇到的not in优化

在项目中写了一个查询语句,一个表的字段不包含在另一张表中有哪些。

语句如下:
select distinct a.parentcorrelation, a.sendtime from complaint_ftp_compare as a where  a.sendtime >= '2011-01-01 00:00:00' and  a.sendtime <='2013-02-01 00:00:00'
and a.parentcorrelation not in (select b.parentcorrelation from complaint_main as b );

在正式环境数据量大的情况下执行效率低,得好几秒钟。

通过优化语句如下:执行效率不到1秒钟。

select  a.* from complaint_ftp_compare as a left join complaint_main as b on a.parentcorrelation=b.parentcorrelation where b.parentcorrelation is null and  a.sendtime >= '2011-01-01 00:00:00' and  a.sendtime <='2013-02-01 00:00:00'

你可能感兴趣的:(sql查询优化,项目中遇到的not in优化)