sql >> データベース >  >> NoSQL >> MongoDB

MongoDBの削除が非常に遅い

    db.repo.remove({"date" : {"$lt" : new Date(1362096000000)}})
    

    単一のコマンドのように見えますが、実際には多くのドキュメントで動作しています。このクエリを満たすものと同じ数です。

    レプリケーションを使用する場合、すべての変更操作をlocalの特別なコレクションに書き込む必要があります oplog.rsというデータベース -略してoplog。

    oplogには、削除されたドキュメントごとにエントリが必要であり、同じレコードを削除する前に、それらのエントリのすべてを各セカンダリのoplogに適用する必要があります。

    検討することをお勧めできるのは、TTLインデックス です。 -設定した有効期限/値に基づいてドキュメントを「自動的に」削除します。これにより、大規模な削除を1回行う必要がなくなり、代わりに時間の経過とともに負荷を分散させることができます。



    1. Mongooseを使用したMongoDBへのNode.jsSSHトンネリング

    2. MongoDBデータの削除-ディスクスペースの再利用

    3. ScrapyとMongoDBを使用したWebスクレイピング

    4. MongoDB / PHPは、ドキュメント内の特定の配列アイテムを削除します