12

我在调整一个存储过程时突然想到一个问题。让我问一下-

我有两个表,table1 和 table2。table1 包含大量数据,table2 包含较少数据。这两个查询之间在性能方面是否有任何区别(我正在更改表的顺序)?

查询1:

SELECT t1.col1, t2.col2
FROM table1 t1
INNER JOIN table2 t2
ON t1.col1=t2.col2

查询2:

SELECT t1.col1, t2.col2
FROM table2 t2
INNER JOIN table1 t1
ON t1.col1=t2.col2

我们使用的是 Microsoft SQL Server 2005。

4

1 回答 1

7

别名和连接中表的顺序(假设它是INNER JOIN)不会影响最终结果,因此不会影响性能,因为在执行查询时顺序会被替换(如果需要)。

您可以在此处阅读有关关系代数的更多基本概念: http ://en.wikipedia.org/wiki/Relational_algebra#Joins_and_join-like_operators

于 2013-10-26T21:49:34.653 回答