実際にはかなりの数の理由がありますが、主な理由は次のとおりです。
-
通常、クライアントアプリケーションは1つの
INSERT
の確認を待ちます 次を送信する前にの成功。したがって、INSERT
ごとにラウンドトリップ遅延があります 、スケジューリング遅延など(PgJDBCはパイプラインINSERT
をサポートします はバッチで実行されますが、他のクライアントが実行していることはわかりません。 -
各
INSERT
エグゼキュータ全体を通過する必要があります。プリペアドステートメントを使用すると、パーサー、リライター、プランナーを実行する必要がなくなりますが、行ごとにセットアップおよび破棄するエグゼキューター状態がまだあります。コピーコード> 一度セットアップを行い、非常に 特にトリガーが関与しない場合、各行のオーバーヘッドが低くなります。
最初のポイントは最も重要です。それはすべて、ネットワークのラウンドトリップと再スケジュールの遅延に関するものです。