我正在嘗試在 mongoDB 中存盤用戶通知(我的主資料庫是 Mysql ),并且通知表每個通知有超過 2,500,000 條記錄。
我想知道我應該將每個通知存盤在一行中還是根據 user_id 存盤它們,每一行都包含用戶的所有通知。對這些資料執行的查詢是選擇用戶的所有通知,選擇所有通知標志設定為 false 的通知,并更新通知 ID 的通知標志。
表上的每一行都有 id,user_id,description,read,notified
哪一個開銷少?
uj5u.com熱心網友回復:
建議將每個通知存盤在一行中,因為query或者update會更容易。
好的
_id:"1"
user_id: "1",
description: "123",
read: true
僅當每個用戶的通知和欄位較少時。
_id:"1",
user_id: "1",
notifications: [
{
_id:"1",
description: "123",
read: true
}]
uj5u.com熱心網友回復:
存盤在1號檔案中的所有用戶的通知,是不是一個好主意,
但MongoDB的可以處理嵌套的檔案很好,有對檔案的大小,一些限制是16MB如MongoDB的留下來,反正這一切都取決于你的使用情況下,你是唯一可以為您的業務決定最佳方案的人,我建議您看一下MongoDB 工程師的這篇超級有用的文章,并嘗試將您的用例與使用模式構建:摘要中的
一些設計模式進行比較
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/314293.html
