一: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 效率高