提升left join效率

from子句中过滤数据后left   join   跟   先left   join后过滤数据的执行效率比较; 
分别举例如下: 

test1: 
select   t1.emp_no,t1.emp_name,t2.dep_no,t2.dep_name   
from   ( 
          select   t.emp_no,t.emp_name,t.dep_no   
          from   employee   
          where   t.emp_no   <   80707999 
)   t1 
left   join   department   t2   on   t1.dep_no   =   t2.dep_no 

test2: 
select   t1.emp_no,t1.emp_name,t2.dep_no,t2.dep_name   
from   employee   t1 
left   join   department   t2   on   t1.dep_no   =   t2.dep_no 
where   t1.emp_no   <   80707999

在大数据量的情况下 test1 比 test2 效率高

你可能感兴趣的:(SQL相关)