gpt4 book ai didi

sql - SQL中Join语句的性能

转载 作者:行者123 更新时间:2023-12-02 08:54:58 25 4
gpt4 key购买 nike

我正在使用 SQL Server 2008-R2,我需要使用多个表联接。在这种情况下,使用 WHERE 语句或使用 INNER JOIN 和 ON 语句时,哪个查询具有更好的时间性能?这两个语句都使用 AND 运算符来表示多个条件。

我想知道是否还有针对该问题的一些相关查询调整。

上述选项的示例代码:

1)

SELECT *

FROM T1,T2,T3....

WHERE T1.ID = T2.ID AND

T1.ID = T3.ID AND

....

2)

SELECT *

FROM T1

INNER JOIN T2

ON T1.ID = T2.ID

INNER JOIN T3

ON T1.ID = T3.ID

INNER JOIN .....

发送。

最佳答案

快速回答:不,性能没有差异。

这是一个相当常见的问题,这里有很好的解释:INNER JOIN ON vs WHERE clause

SQL Server 中的查询优化引擎会自动将这两个查询转换为相同的方法来检索结果。

查询性能的最大差异是联接的顺序以及每个新联接过滤的数据量。最具选择性的连接语句(过滤掉最多的结果)应该首先出现(尽可能取决于您要连接的表)。

关于sql - SQL中Join语句的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5618393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com