我们讨论了SQL Server 2008并加入。一半表示加入的越多,你运行的越慢。另一半说我没关系,因为SQL服务器负责业务,所以你不会注意到任何性能损失。什么是真的?
答案 0 :(得分:2)
而不是按照你的方式提出问题,而是考虑:
这也是程度问题。联接不不可能添加其他处理。即使查询优化器将其取出(例如,在连接中没有使用任何内容的左连接) - 仍然需要CPU周期来解析它。
现在,如果问题是关于比较联接到另一种技术,例如LEFT JOIN + IS NULL的一个特殊情况与record in X not in Y
情景的NOT EXISTS,那么让我们讨论细节 - 表格大小(X与Y),索引等。
答案 1 :(得分:0)
它将减慢速度:查询越复杂,数据库服务器执行它所需的工作就越多。
但关于那“性能损失”:超过什么?有没有其他方法来获得相同的数据?如果是这样,那么您可以相互分析各种选项,以查看哪个选项最快。