web-dev-qa-db-ja.com

MongoDB InsertMany vs BulkWrite

ログデータの保持にMongoDBを使用しています。そして、私の目標は、ログレコードの削除をゼロにすることです。現在、複数のログデータを書き込むために「InsertManyAsync」を使用しています。しかし、MongoDBには「BulkWriteAsync」のようなメソッドもあります。 InsertManyとBulkWriteのパフォーマンスの違いは何ですか?ローカルライティングとネットワーク経由のライティングでは?

13

わかりました、それは2つの質問です:

InsertMany vs BulkWrite

BulkWriteを使用すると、mongoDBへの単一の接続で多くの操作を実行できます。内部的には、InsertManyはBulkWriteを使用するため、違いはありません。便宜上です。

この質問はすでに解決されています。

同期と非同期

同期操作を実行すると、アプリケーションはMongoDBが作業を完了するのを待ちます。非同期操作を使用すると、同時に多くの操作を実行できます。サーバー側、およびクライアント側。

これもすでに解決されています。

14
Adrian Lopez

裏でのBulkWriteAsyncは、挿入操作にInsertManyAsyncを使用します。唯一の違いは、BulkWriteAsyncを使用すると、1つの屋根の下でさまざまな操作(挿入、更新、削除)を実行できることです。ただし、大量のドキュメントを挿入するためにBulkWriteAsyncとInsertManyAsyncの間で議論している場合は、InsertManyAsyncを直接使用することをお勧めします。

0
Saleem