Performance TSQL-连接谓词的顺序重要吗

Performance TSQL-连接谓词的顺序重要吗,performance,tsql,join,Performance,Tsql,Join,我知道有很多关于WHERE谓词顺序重要/不重要以及在何处放置谓词WHERE子句vs on子句的讨论,但是关于连接谓词顺序呢 例如,以下各项之间是否存在性能差异: SELECT * FROM table1 AS a JOIN table2 AS b ON a.key1 = b.key1 AND a.key2 = b.key2 对 SELECT * FROM table1 AS a JOIN table2 AS b ON a.key2 = b.key2 AND a.

我知道有很多关于WHERE谓词顺序重要/不重要以及在何处放置谓词WHERE子句vs on子句的讨论,但是关于连接谓词顺序呢

例如,以下各项之间是否存在性能差异:

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

SELECT *
FROM table1 AS a
JOIN table2 AS b ON
    a.key2 = b.key2
    AND a.key1 = b.key1
是否存在性能差异?会有吗?如果是,在什么情况下


谢谢

查询优化器将选择查询计划。它们是相同的查询。

不,它们(应该)都生成相同的查询计划。通过查看为这两个查询生成的查询计划,可以轻松确认这一点。