MongoDBコレクションの削除とそのすべてのドキュメントの削除のトレードオフは何ですか?(コレクションは直ちに再作成されると仮定します)MongoDB:コレクションの削除と全文書の削除のトレードオフ
答えて
コレクションからすべてのドキュメントを削除すると、ドキュメントのストレージを解放したり、ドキュメントを指し示すインデックスエントリをクリアしたりするなど、もっと多くの作業が必要になります。代わりにコレクションを削除するだけであれば、コレクションとそのインデックスが使用するエクステントを再利用することになります。
もう1つの違いは、コレクションを削除するとコレクションのインデックスも削除されることです。
単純にコレクションを削除するメリットは、コレクションのすべてのドキュメントを削除するよりもはるかに高速であることです。とにかく(インデックスの再作成を含むと仮定して)あなたのコレクションが「すぐに再作成」される場合、これはおそらく最も魅力的なオプションです。本MongoDB: The Definitive Guide(クリスティーナ・チョードーローとマイケル・ディロフ)の
著者は、彼らがremove
1000000のレコードの対drop
を時限Pythonスクリプトを提供する実験を実行しました。結果はdrop
では0.01秒、remove
では46.08秒でした。現在、ハードウェアやその他の要因によって正確な時間が異なる場合がありますが、drop
の方がはるかに高速であるということを示しています。
参照: Chodorow K.、Dirolf M.(2010)。 「MongoDB:The Definitive Guide」O'Reilly Media、Inc.、Sebastapol、CA、pp.25
ほとんどの場合、コレクションの削除と削除は実装の詳細です。
を削除すると、コレクションに存在する内部状態の更新が1つずつ、になる必要があります。
コレクションを削除するには、大きなデータ構造をデータファイルのデータベース内に解放する必要があります。
コレクションを削除するのは、コレクションが空になるまで1つずつ削除するよりもはるかに高速です。インデックスのような
メタデータ意志コレクションが削除された場合むしろその低下したときよりも、存在しています。
出典:MongDB大学のコースの答えに
- 1. mongodbのコレクションから文書を削除するには?
- 2. mongodbでの文書の自動削除
- 3. のMongoDB:サブ文書の更新配列は、文書の削除
- 4. MongoDBコレクション予期しない削除/削除
- 5. コレクションから文書を削除し、別のコレクションの配列からIDを削除します。
- 6. 削除firestoreコレクション
- 7. MongoDBサブ文書からサブ文書を削除する
- 8. Firestoreコレクションのすべての文書を削除する
- 9. MongoDB:プロファイリング - 削除
- 10. MongoDBの空の文書を削除する
- 11. Python - MongoDBで文書内の特定のエントリを削除する
- 12. PHPでMongodbの特定の文書を削除する
- 13. Pymongoのコレクションから文書を削除しますか?
- 14. Observableコレクションからの削除
- 15. コレクションから削除
- 16. MongoDBから特定の文書を削除するには?
- 17. 特定の時刻にMongoDB文書を削除する
- 18. mongodbで複数の文書を削除するには?
- 19. mongodbから多くの文書を削除します
- 20. MongoDBのソフト削除手順
- 21. mongoDBアレイからの削除
- 22. Logstashで文書を削除
- 23. mongodb文書から1つを除くすべてのフィールドを削除する
- 24. MongoDBコレクションの古いオブジェクトの10%を削除します。
- 25. コレクション内の未接続データを削除する方法(mongoDB)
- 26. 空の配列フィールドをMongoDBコレクションから削除する
- 27. MongoDBの大きなコレクションからインデックスを削除する
- 28. mongodbコレクションの平均MEANスタックから削除できません
- 29. Swift Firestore - テーブルセルを削除してFirestoreから文書を削除
- 30. RavenDB Management Studio - 文書の削除
+1しますが、削除対ドロップで1つの警告、そしてあなたがシャード環境にいるときには、再利用に関連するさまざまなバージョンに比べていくつかのバグがありましたドロップされたコレクション名(または場合によっては接頭辞)。私が知っている最新の関連するバグはこれです:https://jira.mongodb.org/browse/SERVER-4262そしてこれは2.2で修正されています - あなたがたくさんのドロップ/再作成を計画しているなら。 –
チップのおかげで@AdamC!私は、このシナリオが混乱の中でシャーディング/レプリケーションを少しトリッキーにしていると思います。私は家で私のラボにマスター/スレーブの複製設定を持っているので、それを試してみる必要があります。 – Aaron