古い Interbase データベースから新しい SQL Server データベースにインポートする非常に大きな (5000 万以上のレコード) データセットがあります。
私の現在のアプローチは次のとおりです。
Interbase データベースから csv ファイルを取得します (完了、オンラインで見つけた「FBExport」というプログラムを使用)
古いデータベースのスキーマが新しいデータベースと一致しない (私の管理下にない) ため、特定のフィールドを新しいデータベースで機能させるために一括編集する必要があります。これは私が助けを必要としている分野です
正しいスキーマに編集した後
SqlBulkCopy
、新しく編集したデータ セットを SQL Server データベースにコピーするために使用しています。
パート 3 は非常に迅速に動作します。診断では、一度に 10,000 レコードをインポートするとほぼ瞬時に実行されることが示されています。
パート 2 に対する私の現在の (遅い) アプローチは、csv ファイルを 1 行ずつ読み取り、関連情報を検索することです (たとえば、csv ファイルの ID は XXX######## ですが、新しいデータベースはXXX と ######## ごとに個別の列があります。例 2. csv ファイルは文字列を介してモデルを参照しますが、新しいデータベースはモデル テーブルの ID を介して参照します)、新しい行を my に挿入します。ローカルテーブル、そしてSqlBulkCopy
ローカルテーブルが大きくなった後。
私の質問は次のとおりです:このデータ編集ステップの「最良の」アプローチ(パフォーマンスに関して)は何でしょうか? これにはlinqタイプのアプローチがある可能性が非常に高いと思いますが、それはより良いパフォーマンスを発揮しますか?