我有以下与MongoDB数据库设计相关的问题。这是我的情况:
我有两种选择查询的可能性:
所以问题是,当我在单个查询上执行许多小查询时,是否有额外的开销?在关系数据库中,进行许多查询是一种非常糟糕的做法——但在NoSQL中呢?我问的是一般做法——我应该避免那么多疑问吗?
在文档中,我读到查询的数量并不重要,但对文档的搜索数量很重要,这是真的吗?
感谢帮助;)
当您对一个查询执行小查询时,问题是网络开销,即网络延迟往返。
对于批次处理作业中的单个请求,它可能不多,但如果您发出多个类似的请求或在前端使用此技术,它会降低性能。
此外,您可能需要预处理数据,例如手动对其进行排序聚合。
有一个类似的问题,就像你问的那样:多次查询mongoDB可以吗
IMO,对于您的用例,即25
如果是单个查询:
在单个线程中循环是不够的,您必须发出并行请求,这将产生额外的开销
正如上面的答案中所解释的,对于批处理多少值与往返次数似乎有一个最佳点,这也取决于您的文档类型。
更广泛地说,任何
10
我正在使用mongoose来计算匹配某个查询的文档数量。此查询的索引为: Mongo版本为3.2,收藏文档数量约为175万。 需要2分多钟。但如果我这么做了: 然后大约需要2.5秒。 我做错什么了吗?我能做些什么来加快速度吗? 编辑:解释日志。 计数: 为了找到。
问题内容: 我知道我们可以进行相关的子查询并加入。但是哪一个更快?有黄金法则还是我必须同时衡量这两者? 问题答案: 首先,相关子查询实际上是联接的一种。关于哪一个产生最佳执行计划没有黄金法则。如果您对性能感兴趣,则需要尝试不同的表格以查看最有效的方法。或者,至少,看看执行该决定的执行计划。 通常,出于两个原因,我倾向于避免关联子查询。首先,几乎总是可以在没有相关性的情况下编写它们。其次,许多查询引
问题内容: 可以说我有一个图,想看看是否。哪个实施速度更快,为什么? 要么 显然,这过于简单了,但可以想象该图变得非常密集。 问题答案: 集合中的成员资格测试要快得多,尤其是对于大型集合。这是因为该集合使用哈希函数来映射到存储桶。由于Python实现会自动调整该哈希表的大小,因此无论集合的大小如何,速度都可以保持恒定()(假设哈希函数足够好)。 相反,要评估对象是否为列表的成员,Python必须比
问题内容: 我正在使用MySQL存储视频游戏数据。我有用于标题,平台,标签,徽章,评论,开发人员,出版商等的表… 当某人正在观看游戏时,最好有一个查询来返回与游戏相关的所有数据,还是最好使用多个查询?直观地,由于我们具有评论,将它们包括在同一查询中似乎毫无意义,因为它们需要分页。但是在其他情况下,我不确定是否要分解查询或使用两个查询… 我有点担心性能,因为我现在加入游戏下表:开发人员,发行者,元标
问题内容: 我希望使用find在rails控制器中编写此SQL查询: 我该怎么做?我正在使用Rails框架和MySQL。提前致谢。 问题答案: 简单方法: 一枪: