gpt4 book ai didi

mongodb - MongoDB 预测的效率如何?

转载 作者:IT老高 更新时间:2023-10-28 13:10:37 24 4
gpt4 key购买 nike

在查询 mongo 数据库时排除文档中几乎所有数据是否有很多开销?

例如,在我只想要 field1field2 的情况下,对于具有以下文档结构的集合:

{
"field1" : 1
"field2" : true
"field3" : ["big","array",...]
"field4" : ["another","big","array",...]
}

我是否会从中受益更多:

  1. 在此集合旁边创建一个单独的集合,其中包含只有 field1 和 field2,或者
  2. 在包含/排除参数的原始文档上使用 .find()

注意:保存相同数据两次的低效率对我来说并不像查询数据的效率那样关心

非常感谢!

最佳答案

投影有点类似于在 SQL 中显式使用列名,因此询问返回少量数据是否会比返回大量数据(完整文档)产生开销似乎有点违反直觉。

所以你必须找到文档(取决于你如何 .find() 它可能是快或慢)但只返回文档的前两个字段而不是所有字段(完整文档)会使其 更快不慢。

只有在您担心自己的收藏适合 RAM 时,才能进行第二次收藏。如果重复集合中的文档要小得多,那么它们可能适合较小的总 RAM,从而减少需要从磁盘换入页面的机会。但是,如果您要写入这个集合以及原始集合,那么您必须在 RAM 中拥有比只有原始集合更多的数据。

因此,虽然复杂的细节可能取决于您的个人设置,但一般答案可能是 2。您将从使用投影中受益更多,并且只返回您需要的两个字段。

关于mongodb - MongoDB 预测的效率如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13897098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com