質問: 私はデータベースに挿入したいレコードが約1,000,000個以上あります。 同じIdを持つレコードを別のものに更新する必要があります 更新/挿入ロジックはStored Procで書かれています 私はこの作業を行うためにDataAdapter.Updateメソッドを使用しています。 ここに問題があります。 DataTableには65,000件を超えるレコードがありません。 挿入/更新は毎秒60レコードです。 このパフォーマンスを向上させるにはどうしたらいいですか?ここでSqlBulkCopyを使用できますか?このUpdate / Insertを一緒に行うことはできますか?その中のパフォーマンスはどうですか?
回答: 挿入更新のためだけにレコードをDataTableにロードしていますか? もしそうなら、あなたはたぶんSPを一度に直接呼び出してDataTableをスキップする方が良いでしょう。 または、TVPとIEnumerable SqlDataRecordを使用すると、65000に制限されません。 IEnumerable SqlDataRecordを使用した例