Mongodb

mongoexport 是否比使用像“mongodb”這樣的驅動程序為nodejs 執行相同的查詢更優化查詢?

  • September 7, 2020

我負責建構一個 nodejs 模組,該模組將不同數量的數據從 mongodb 轉儲到文件中,然後將其放入 S3(有時是單個文件,有時是數千個,就像整個集合)。該模組所在的項目已經將“mongodb”驅動程序用於不同的案例。有人告訴我,對於較大的轉儲,使用mongoexport在性能上可能比在 nodejs 中執行查詢更好,但是這個解決方案意味著產生一個新程序並且取決於不同的工具(mongoexport),它肯定會增加解決方案的複雜性。我關心的不是速度方面的性能,而是數據庫的成本。

mongoexport 是否會比簡單地使用 fs 流查詢和寫入結果更快(並且“努力”更少)轉儲整個集合?

是否有指導方針或最佳實踐來做這樣的事情?

Mongoexport 使用 Go 驅動程序連接到 MongoDB 伺服器。

它執行的任何操作也可以由任何其他使用者執行。

如果沒有提供過濾器,它會提示使用{$natural:1}它們在磁碟上出現的順序讀取文件,這比在讀取整個集合時使用索引更有效。

您應該能夠通過設置slowms為 0 或通過增加查詢組件的日誌記錄詳細程度來發現任何特定執行的 mongoexport 使用的確切查詢和選項。

一旦您知道它對您的案例使用了哪些查詢,您就可以將其與您可以對您的驅動程序執行的操作進行比較,以確定哪個更有效。

引用自:https://dba.stackexchange.com/questions/275001