加入会减慢sql的速度

时间:2011-02-14 11:07:09

标签: sql-server performance join

我们讨论了SQL Server 2008并加入。一半表示加入的越多,你运行的越慢。另一半说我没关系,因为SQL服务器负责业务,所以你不会注意到任何性能损失。什么是真的?

2 个答案:

答案 0 :(得分:2)

而不是按照你的方式提出问题,而是考虑:

  • 我可以在没有加入的情况下获得我想要的数据吗?
    • 否=>你需要加入,讨论结束。

这也是程度问题。联接不可能添加其他处理。即使查询优化器将其取出(例如,在连接中没有使用任何内容的左连接) - 仍然需要CPU周期来解析它。

现在,如果问题是关于比较联接到另一种技术,例如LEFT JOIN + IS NULL的一个特殊情况与record in X not in Y情景的NOT EXISTS,那么让我们讨论细节 - 表格大小(X与Y),索引等。

答案 1 :(得分:0)

减慢速度:查询越复杂,数据库服务器执行它所需的工作就越多。

但关于那“性能损失”:超过什么?有没有其他方法来获得相同的数据?如果是这样,那么您可以相互分析各种选项,以查看哪个选项最快。