以这种方式加入给定选择是否会更快
select ...
join table1
on condition1
join table2
on condition2
然后这个
select ...
join table1
join table2
on condition1
and condition2
因为你保持临时表更小?
(我们假设:condition1与table2无关。)
答案 0 :(得分:2)
理论上,过滤条件应该“尽快”说明,即选项1 可能表现更好。
实际上,大多数情况下,SQL解析器会将任一版本优化为相同的执行计划。也就是说,除非您的条件确实扭曲,否则table1
或table2
实际上是子查询。
如果您要使用实际查询,请检查执行计划:EXPLAIN [your query here]
(对不起,如果你没有给我们提供更多......具体细节,那么很难具体说明)