メンバーに対応するID番号のリストを取り込む必要があります。それらは、いつでも処理される10から10,000までのどこでもかまいません。データの収集、データの解析、およびDataTableなど(C#)へのロードに問題はありませんが、データベースでいくつかの操作を実行したいと思います。このすべてのデータをテーブルに挿入するための最良の方法は何ですか?
各ステートメントに対してaを実行して、10,000回挿入したくないと確信しています。
メンバーに対応するID番号のリストを取り込む必要があります。それらは、いつでも処理される10から10,000までのどこでもかまいません。データの収集、データの解析、およびDataTableなど(C#)へのロードに問題はありませんが、データベースでいくつかの操作を実行したいと思います。このすべてのデータをテーブルに挿入するための最良の方法は何ですか?
各ステートメントに対してaを実行して、10,000回挿入したくないと確信しています。
私は以前にSqlBulkCopyクラスを使用して、数百万の追加を行いました。とても便利なようでした。
INSERTを10,000回実行したくない場合もありますが、それらの10,000の挿入を1つのトランザクションにラップすることはできます。
この目的でSSISを試すことができます
SQL Server 2008 では、C# データ セット (実際の DataTable オブジェクト) をテーブル値パラメーターとして渡すことができます。このパラメーターは、Transact-SQL コードで、@table
クエリおよび操作が可能な変数として使用できます。
次のように SELECT を INSERT できます。
INSERT INTO myTable (a, b, c) SELECT d, e, f FROM anotherTable WHERE ...
それが役に立てば幸い。