私はRustプログラマーではありませんが、パフォーマンスの考慮事項は、アプリケーションの言語に関係なく同様である必要があります。
この場合、1つの行の列のパラメーターを使用して、1つの行を挿入するクエリを準備します。次に、ループを実行して、パラメーターに異なる値を使用して準備されたクエリを実行します。これは、SQLの解析のオーバーヘッドをループから除外します。これは、準備ステップで1回だけ実行されるためです。準備されたクエリを実行しても、ステートメントは再解析されません。
これがまさにexec_batch()
であるといいのですが やっています。ただし、ループ内で毎回INSERTステートメントを再準備している可能性があります。それは素朴なアプローチですが、Rustパッケージが素朴かどうかはわかりません。
これで十分なパフォーマンスが得られない場合は、データの読み込み[ローカル]ファイル 。これは通常、1000タプルのセットを使用した場合でも、INSERTステートメントよりも数倍高速です。
私のプレゼンテーション