始终加入SQL表是一种好习惯吗?

时间:2017-01-24 07:07:39

标签: sql mongodb postgresql join

我正在编写一个使用sequelize作为我的ORM for SQL数据库(PostgreSQL)的Web应用程序。
我在MongoDB而不是SQL数据库方面有更多经验,而且我一直在寻找一种方法来在一个请求中查询完整模型。

假设我有UserComment个型号,User可能有很多Comment个。 我将CommentUser保留在不同的表格中(它们也分成不同的表格) 当我想查询User时,是否应该使用join创建查询以获取评论?
在每个查询中执行所有模型关系之间的完全连接是好的还是坏的做法?

1 个答案:

答案 0 :(得分:1)

使用JOINS,您可以使用您选择过滤结果的任何搜索参数,只使用一个查询从任意数量的表中获取所需的数据。 MySQL还可以利用索引等内容来最大限度地提高性能,而API代码却无法实现这一目标。

一般来说,执行多个查询并使用某种API(如PHP)来过滤结果会给服务器带来更多的开销。需要在MySQL和API之间来回发送更多数据,更不用说MySQL是为了获得最佳性能而构建的,在处理每个开发人员API代码时无法保证。

所以在你的情况下,请加入用户,评论。