リモート データベースに挿入する行が 100 万行あるとします。
簡単に言えば、パフォーマンスを向上させるために次のことを行いました。
- 単一の MySQL 接続の再利用
MySqlCommand
すべての挿入に再利用する単一の準備済みの作成MySqlTransaction
挿入ごとに自動コミットを防ぎ、バッチが完了したときにのみ呼び出すために使用しtransaction.Commit()
ます。
質問は単純です。MySQL Connector.NET は、このような状況でトランザクションのバッチ処理を自動的に実行しますか? それとも、複数の行を 1 つに個別に連結INSERT INTO foo(bar) VALUES (..), (..), (..), (..), ...;
し、トランザクションでこれらの複数を実行する必要がありますか?
どの時点で、MySqlBulkLoader
代わりに使用することをお勧めしますか?