sql >> データベース >  >> RDS >> Mysql

Rust:多くのパラメータを使用してMySQLでDMLを実行するにはどうすればよいですか?

    私はRustプログラマーではありませんが、パフォーマンスの考慮事項は、アプリケーションの言語に関係なく同様である必要があります。

    この場合、1つの行の列のパラメーターを使用して、1つの行を挿入するクエリを準備します。次に、ループを実行して、パラメーターに異なる値を使用して準備されたクエリを実行します。これは、SQLの解析のオーバーヘッドをループから除外します。これは、準備ステップで1回だけ実行されるためです。準備されたクエリを実行しても、ステートメントは再解析されません。

    これがまさにexec_batch()であるといいのですが やっています。ただし、ループ内で毎回INSERTステートメントを再準備している可能性があります。それは素朴なアプローチですが、Rustパッケージが素朴かどうかはわかりません。

    これで十分なパフォーマンスが得られない場合は、データの読み込み[ローカル]ファイル 。これは通常、1000タプルのセットを使用した場合でも、INSERTステートメントよりも数倍高速です。

    私のプレゼンテーション Load Data Fast! がお気に召すかもしれません。 ここでは、さまざまなデータインポートソリューションの相対的なパフォーマンスを比較しました。



    1. SQL Serverでsys.sql_dependenciesを使用しないでください(非推奨)

    2. CSVとMySQLのパフォーマンス

    3. SQLLIMIT構文エラー

    4. JDBCを使用してAndroidのリモートMySQLデータベースに接続できますか?