一: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查询示例对比了在大数据量情况下,先进行FROM子句中的数据过滤再执行LEFT JOIN操作与先执行LEFT JOIN后进行WHERE子句过滤的数据查询方式之间的执行效率差异。
1559

被折叠的 条评论
为什么被折叠?



