メモリに大量のデータがある場合、それを SQL CE テーブルにコピーする最良の方法は何ですか? 現在のテクノロジ スタックは、C#、ADO.net、および SQL CE です。
私の最初のアイデアは、データの行ごとに 1 つの INSERT ステートメントを実行することでしたが、これには時間がかかります。もっと簡単な方法はありますか?
メモリに大量のデータがある場合、それを SQL CE テーブルにコピーする最良の方法は何ですか? 現在のテクノロジ スタックは、C#、ADO.net、および SQL CE です。
私の最初のアイデアは、データの行ごとに 1 つの INSERT ステートメントを実行することでしたが、これには時間がかかります。もっと簡単な方法はありますか?
Steve Lasker には、さまざまな方法でこれをデモする優れたコード サンプルがありますが、(断然) 最良の方法はSqlCeResultSetです。
これは、このテーマに関するいくつかの優れたパワーポイントを含むSteve のブログ投稿です。
私の頭に浮かんだ最初のことは、デスクトップまたはサーバー データベースとの同期/マージを行うことでしたが、それはあなたのニーズに本当に合っているようには思えません。だからここに私の2番目の考えがあります:
BULK INSERT table_name FROM data_file
お使いのバージョンの SQL CE でサポートされているかどうかはわかりません (ただし、MSDN ページで確認したところ、3.5 SP1 でサポートされているようです)。http://msdn.microsoft.com/en-us/library/ms188365.aspx
データの挿入中にテーブルのインデックスを無効にして速度を上げ、挿入が完了したらインデックスを有効/再構築することもできます。