我正在写一些东西SQL,我的脑海中出现了一个问题。
SQL是这样的:
select
t1.column1,
t2.column2
from
table1 t1
inner join table2 t2
on t1.keyA = t2.keyA
where
t1.name = 'kim kardashian'
Run Code Online (Sandbox Code Playgroud)
子句中的顺序会on影响SQL性能吗?
on t1.keyA = t2.keyA和on t2.keyA = t1.keyA有什么区别吗?
无论顺序如何,结果SQL都是相同的。
子句中条件的顺序on不应影响性能。为什么不?SQL 执行的高级步骤分为三个步骤:
第二级优化查询,并应考虑执行查询的不同方法。连接条件是此优化的一部分——一次性完成。
从理论上讲,s 的顺序也并不重要join,尽管在非常复杂的查询中,它可能很重要。