SQL优化的问题,高手请入!!
目前在处理问题时,发现以下两条SQL语句
1、
select a.* from wenjian_recive a,bcbs_gongwen b where a.a3='zhangsan' and ((not length(a.att2)>0) or (not a.att2=a.a3)) and a.a5=0 and a.n3 in (2,3) and '1114853495640'=(select bcbs_gongwen.att1 from bcbs_gongwen where bcbs_gongwen.id=a.qid) order by a.id desc
2、
select a.* from wenjian_recive a,bcbs_gongwen b where a.a3='lisi' and ((not lengt(a.att2)>0) or (not a.att2=a.a3)) and a.a5=0 and a.n3 in (2,3) and '1114853495640'=(select bcbs_gongwen.att1 from bcbs_gongwen where bcbs_gongwen.id=a.qid) order by a.id desc
在执行时有明显的速度差异,其中第一条表现的很慢(约60s)。
请问各位sql高手:这主要是由于什么原因造成的?
在组织and从句时该遵循什么样的原则,是条件越严格的放在越前面吗?
欢迎大家多多讨论!