最近,我与另一位开发人员进行了讨论,该开发人员向我声称JOIN(SQL)无用。从技术上讲,这是正确的,但他补充说,使用联接比在代码(C#或Java)中发出多个请求和链接表效率低。

对于他来说,加入是针对那些不关心性能的懒惰人。这是真的?我们应该避免使用联接吗?

最佳答案

不,我们应该避免持有如此难以置信的错误观点的开发人员。

在许多情况下,数据库联接比通过客户端执行的任何操作都要快几个数量级,因为它避免了数据库往返,并且数据库可以使用索引来执行联接。

我什至无法想像一种情况,正确使用联接的速度会比等效的客户端操作慢。

编辑:在一些罕见的情况下,自定义客户端代码可以比简单的DB连接更有效地执行操作(请参阅meriton的注释)。但这是非常异常(exception)。

09-25 20:19