2017-08-02 65 views
1

我知道关于WHERE谓词顺序的讨论很多,关于WHERE子句和ON子句,但JOIN谓词顺序如何?TSQL - JOIN谓词的顺序问题

例如,是否有任何之间的性能差异:与

SELECT * 
FROM table1 AS a 
JOIN table2 AS b ON 
    a.key2 = b.key2 
    AND a.key1 = b.key1 

SELECT * 
FROM table1 AS a 
JOIN table2 AS b ON 
    a.key1 = b.key1 
    AND a.key2 = b.key2 

是否有性能差异?会不会有?如果是这样,在什么边缘情况下?

谢谢

+1

不,他们(*应*)都生成相同的查询计划。您可以通过查看两个查询的生成查询计划来轻松确认此情况。 – Siyual

回答

2

查询优化器将选择查询计划。他们是同一个查询。