一般に、メモリ内オブジェクトのループは非常に高速である必要があります。
CPU のブロックについて心配していることは承知していますが、実行する作業の総量を考慮する必要があります。アイテムを 1 つずつ送信すると、多くのオーバーヘッドが発生します。for
DB への各クエリには、おそらく「バッチ処理」for
ループが非常に小さく見える独自の内部ループのシーケンスがあります。
DB に 1000 個をダンプする必要がある場合、実行できる最小の作業量は、これを一度に実行することです。100 個の「もの」を 10 バッチにすると、同じ作業をすべて実行する必要があり、これらすべての要求を生成して追跡する必要があります。
これらの一括挿入をどのくらいの頻度で行っていますか? これが定期的に発生する場合は、作業の総量を最小限に抑え、すべてを一度に一括挿入することをお勧めします。
ここでのトレードオフは、ログ記録と再試行です。通常、ある種の一括挿入を実行するだけでは十分ではありません。一括挿入は最終的に (完全または部分的に) 失敗し、再試行または統合のために何らかの種類のロジックが必要になります。
それが懸念される場合は、ブロックをインテリジェントに再試行できるように、一括挿入のサイズを管理することをお勧めします。