1

以这种方式加入给定的选择会更快吗

select ...
join table1 
on condition1
join table2
on condition2

那么这个

select ...
join table1
join table2
on condition1
and condition2

因为你保持临时表更小?

(让我们假设:condition1 与 table2 无关。)

4

1 回答 1

2

理论上,过滤条件应该“尽快”说明,即选项 1可能表现更好。

在实践中,大多数时候,SQL 解析器会将任一版本优化为相同的执行计划。也就是说,除非您的条件真的很扭曲,或者table1实际上table2是子查询。

如果您有实际查询要处理,请检查执行计划:EXPLAIN [your query here]

(抱歉,如果您不向我们提供更多……细节,就很难更具体)

于 2013-02-13T17:07:54.573 回答