MongoDB中RAM占用多少空间

时间:2016-12-30 06:51:11

标签: mongodb

我必须在MongoDB v3.4.1中使用Views(MongoDB经常升级到最新版本)。

我有两种选择来创造终极观点。

  1. 我可以直接创建一个复杂的View。在这种情况下,我应该只创建一个视图。
  2. 我可以创建3个视图。需要前两个才能达到第三个终极观点。在这种情况下,视图将更易读,更容易控制。
  3. 但是,将使用高容量集合创建视图。

    由于上述情况,我想知道RAM中的视图占用了多少空间。它与收藏品相同还是更少?

1 个答案:

答案 0 :(得分:0)

除了用于定义视图的少量元数据外,他们不会自己消耗任何内存。

当您对视图执行查询时,它将获取相关的集合数据, 反过来可能需要存储引擎将更多数据带入RAM,如果有问题的数据刚刚打开磁盘直到那时。

// Example view creation
db.runCommand ( {
   create: "managementFeedback",
   viewOn: "survey",
   pipeline: [ { $project: { "management": "$feedback.management", department: 1 } } ]
} )
// ---------
db.managementFeedback.find() //Will bring a certain amount of document data into memory, if it wasn't already there.
db.survey.aggregate([ { $project: { "management": "$feedback.management", department: 1 } } ]) //Will bring exactly the same document data into memory

但这完全符合预期。与使用相同管道运行聚合命令相比,使用视图不会消耗更多或更少的内存。

相关问题