select psd_nid,count(*) as vip_qh from psvip where exists( select top 1 pscj.psvip_nid from pscj a left join pszx b on a.psvip_nid=b.psvip_nid and a.c7=b.z6 and isnull(a.sxmx_nid,0)=isnull(b.sxmx_nid,0) where a.psvip_nid=psvip.nid and (b.nid is null Or isnull(a.c8,0) > isnull(b.z7,0)) ) and psd_nid = 2 group by psd_nid改成这样试试
有可能速度慢的根本原因 不是 条件: and psd_nid = 2所以大家 看看,我要的就是这样的语句执行结果,该如何优化,让其查询速度变快呢?
select top 1 pscj.psvip_nid from pscj a left join pszx b on
a.psvip_nid=b.psvip_nid and a.c7=b.z6 and isnull(a.sxmx_nid,0)=isnull(b.sxmx_nid,0)
where a.psvip_nid=psvip.nid and (b.nid is null Or isnull(a.c8,0) > isnull(b.z7,0))
)
and psd_nid = 2
group by psd_nid改成这样试试
sp_help 'pscj'sp_help 'vip_qh'贴结果