我正在使用Waterline,它是Node.js令人惊叹的ORM。我认为有两种方法来计算关系(关联)。
第一种方法是在添加或删除关系记录时应用记录计数。例如,附加到帖子,帖子的评论计数字段的评论将会增加。
第二种方法是使用'count'查询。我可以在需要时计算关系。
我担心的是第二种方式更容易,但似乎比第一种方式慢。它可以要求太多。但第一种方式需要更多的脏代码。
我真的不知道什么是计算关系的最佳方法。
答案 0 :(得分:0)
这个问题的答案必须有点意见,但我会告诉你我的观点。
我会选择"计数查询"解决方案因为这是获取此信息的最可靠方法。正如您所说,另一个解决方案需要更多脏代码,并且可能更容易被窃听。我总是尝试用一种方法来检索信息。
如果请求过于缓慢和/或过于频繁而导致应用程序运行速度变慢,那么您应该考虑缓存结果。根据您使用的基础结构,您可以将查询结果缓存在变量或快速缓存后端(如memcached
或Redis
)中。您需要在需要时使缓存无效,由您决定缓存的生命周期。您应该定义应用程序的全局缓存策略,以便将其用于应用程序的其他部分。