1

C++ Builder で ADO コンポーネントを使用しており、MS Access データベースに約 200 000 レコードを追加する必要があります。それらのレコードを 1 つずつ追加すると時間がかかるため、スレッドを使用したいと考えました。各スレッドは TADOTable を作成し、データベースに接続して独自の行を挿入します。しかし、アプリケーションを実行するときは、スレッドを 1 つしか使用しない場合よりもさらに遅くなります。

それで、それを行う方法は?Access データベースに多くのレコードを追加する必要がありますが、1 つずつ挿入することは避けたいと考えています。コードがあると便利です。

ありがとうございました。

4

1 に答える 1

-1

まず第一に、マルチスレッドは挿入の速度を上げません。コンテキストの切り替えなどが原因で速度が低下します。必要なのは、一括挿入を行う方法です。つまり、1回のトランザクションで複数の行を送信します。

アクセステーブルで一括挿入を検索してみてください。そこにはたくさんの情報があります。

于 2012-10-08T12:48:55.040 に答える