今天在高人的指点下,发现了两个sql的区别:
1,
SELECT t2.*,t1.* FROM credit_backup t1,credit_company t2 WHERE t1.CREDCODE = t2.CREDCODE order by t1.bkdate
2,
SELECT t1.* FROM credit_backup t1 WHERE exists (select t2.CREDCODE from credit_company t2 where t1.credcode=t2.credcode) order by t1.bkdate
sql 1的执行时间sql 2的平方倍,我的mysql数据库将有1400多W数据,在大数据量的操作时,这简直是天上地下的区别。
以前写sql时从来没有主义过这个问题,大部分是第一种写法,可能是以前操作的是oracle和数据量不是很大的原因,也没发现执行速度有好慢,今天突恍然大悟,卒与大家分享,抛砖引玉,希望各位能提出更多更好的sql优化方法,小生在次谢过!