来自RDBMS背景的我总是有这样的印象:"假设一个查询是有效的,尽您所能地使用它",这意味着您向数据库发出的每个请求都是昂贵的.当涉及到MongoDB时,这似乎是不可能的,因为您不能连接表.
我知道它不应该是关系型的,但他们也出于博客、论坛和我觉得RDBMS更容易使用的目的来推动它.
我试图了解MongoDB或NoSQL的总体效率时遇到了一些问题.如果我想要获得与某些用户相关的所有"帖子"(就像他们被分组一样)……使用MySQL,我可能会做一些连接,并由此得到它.
在MongoDB中,假设我需要分离集合,使用大的$in是否有效:[‘user1’,‘user2’,‘user3’,‘user4’,.]?
这种方法会在一段时间后变慢吗?如果我包括1000个用户呢? 如果我需要获取与用户X、Y、Z相关的帖子列表,使用MongoDB是否高效和/或快速:
- 获取用户数组
- 获取用户数组中的帖子
对一个请求进行2次查询.这是NoSQL中的糟糕做法吗?