のは、私は単一の項目にデシベルを節約する方法dbに過負荷をかけずに多数の簡単なクエリを実行する最も効率的な方法は何ですか?
public async Task SaveItemToDb(ItemEntity item) { ... }
があるとしましょうとのは、(I 500,000アイテムとそれを実行すると、ビジネス上の理由で、私は一括操作を行うことができない必要があるとしましょう例えば、私がすることはできませんSaveItemsToDb(IEnumerable<ItemEntity> items)
にする)。
これを実行する最善の方法は、同時に実行されているクエリでdbをオーバーロードしないようにすることですが、各クエリは互いに独立していると考えることができます。これはTask.WhenAll(...)
のケースですか?
DBを助ける1つの方法は、すべてのクエリを1つのブロックにコンパイルして実行することです。 –
@ShemeerBKあなたは詳しく説明できますか? – user7127000
こんにちは、あなたのシナリオが正しいかどうか分かりません。私の以前のプロジェクトでは、このような問題がありました。私は を各作成オブジェクトに挿入する必要がありました。問題は、接続 が開かれ、クエリが実行され、その後接続が閉じられました。それはしばらくの間、挿入操作 をドラッグしました。単純な回避策は、クラス内のすべてのそれらの挿入クエリを収集し、タイマでブロック を100で実行することでした。あなたの場合に役立つかもしれません。 –