私はMS SQLデータベース(サーバではない)を持っています。私のプログラムは2 TBの外部ドライブからファイル構造を読み込み、リストをデータベースに保存します。私は毎回約80kのレコードを書いており、すばらしい時間がかかります。マルチスレッドSQLクライアント書き込みクエリ
現在、2つのバックグラウンドワーカースレッド40kにそれぞれ分割してレコードを作成しています。私のPCはQuad core Phenom IIです。
これを達成するための最良の方法は何か、また、スレッド数を増やすことでメリットは7200rpm hddであり、襲撃ではないため、メリットがあります。私が意味することは、HDDが限界かもしれないということですか?
ありがとうございます。
編集:時間はすべてのレコードが15-18分程度です。私はストアドプロシージャを使用していません。私は自動生成されたテーブルアダプターからのみ挿入コマンドを使用しています。私はスレッドごとに40k回insert文をループしています。いいえ、インデックス付きファイルに基づいて更新するのではなく、単に挿入ステートメントです。
こんにちはJared Pelessさん、私は質問の編集に情報を追加しました。ありがとうございました。 – surpavan
テーブルアダプタを使用している場合は、テーブルが完全に挿入されていることを確認してから、更新/挿入を実行するとパフォーマンスが向上します。 –
私は挿入を行うだけですが、私はアップデートを使用しませんが、スレッドの数を増やすなど、この高速プロセスの例をどのようにすることができるのかという問題があり、最大4つのスレッドを試しましたが、私のテストでは、2つのスレッドが最適なポイントであることがわかりました。 – surpavan