-3

我读过很多文章表明join比SubQuery更好。但是他们没有解释为什么!

你能解释一下为什么 join 比 SubQuery 更好吗?

4

3 回答 3

2

这并非总是如此。

在 SQL Server 中,使用关键字EXISTS/NOT EXISTS通常可以胜过使用JOIN关键字编写的等效查询。SQL Server 具有高效的半联接和反半联接运算符。

相关子查询的问题在于,当它们强制使用嵌套循环算法时,子查询会针对每个外部行重复单独评估。

于 2013-06-14T14:20:10.800 回答
0

在查询中执行一次连接以获得数据的超集,然后应用过滤器(如果有)。

对每个匹配的记录执行多次子查询。

于 2013-06-14T14:20:53.810 回答
0

人们常常忘记的一件事是优化器比大多数程序员更了解它。我建议阅读这篇文章。SQL Server 引擎最了解

subquery/join/exists/in 可能由优化器以相同的方式执行。

于 2013-06-14T14:23:32.433 回答