联盟是为了懒惰的人吗?

问题:

我最近和另一位开发者讨论过,他声称JOIN(SQL)是无用的。这在技术上是正确的,但他补充说,使用连接比在代码(C#或Java)中提供多个请求和链接表的效率较低。
对于他来说,加入是对于不喜欢表演的懒惰的人。这是真的?我们应该避免使用连接吗?

回答:

不,我们应该避免开发人员抱着如此难以置信的错误观点。
在许多情况下,数据库连接比通过客户端进行的任何事情都快几个数量级,因为它避免了DB往返,DB可以使用索引来执行连接。
 Off the top of my head, I can’t even imagine a single scenario where a correctly used join would be slower than the equivalent client-side operation.
 编辑:在一些罕见的情况下,自定义客户端代码可以比直接DB连接更有效地执行任务(请参阅meriton的评论)。但这是非常例外。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Joins are for lazy people?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 18 = 23