簡體   English   中英

視圖在MongoDB的RAM中占據多少空間

[英]How much space Views occupy in the RAM in MongoDB

我必須在MongoDB v3.4.1中使用視圖(MongoDB通常會升級到最新版本)。

我有兩種選擇來創建最終視圖。

  1. 我可以直接創建一個復雜的視圖。 在這種情況下,我應該只創建一個視圖。
  2. 我可以創建3個視圖。 為了達到第三個最終視圖,需要其中的前兩個。 在這種情況下,視圖將更具可讀性,易於控制。

但是,將通過使用大量集合來創建視圖。

由於上述情況,我想知道RAM中的視圖占用了多少空間。 它等於收藏品還是更少?

除了用於定義視圖的少量元數據之外,它們本身並不占用任何內存。

當您在視圖上執行查詢時,它將獲取相關的收集數據, 可能又需要存儲引擎將更多數據帶入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

但這僅是預期的。 與使用同一管道運行聚合命令相比,使用視圖不會消耗更多或更少的內存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM