1

古い Interbase データベースから新しい SQL Server データベースにインポートする非常に大きな (5000 万以上のレコード) データセットがあります。

私の現在のアプローチは次のとおりです。

  1. Interbase データベースから csv ファイルを取得します (完了、オンラインで見つけた「FBExport」というプログラムを使用)

  2. 古いデータベースのスキーマが新しいデータベースと一致しない (私の管理下にない) ため、特定のフィールドを新しいデータベースで機能させるために一括編集する必要があります。これは私が助けを必要としている分野です

  3. 正しいスキーマに編集した後SqlBulkCopy、新しく編集したデータ セットを SQL Server データベースにコピーするために使用しています。

パート 3 は非常に迅速に動作します。診断では、一度に 10,000 レコードをインポートするとほぼ瞬時に実行されることが示されています。

パート 2 に対する私の現在の (遅い) アプローチは、csv ファイルを 1 行ずつ読み取り、関連情報を検索することです (たとえば、csv ファイルの ID は XXX######## ですが、新しいデータベースはXXX と ######## ごとに個別の列があります。例 2. csv ファイルは文字列を介してモデルを参照しますが、新しいデータベースはモデル テーブルの ID を介して参照します)、新しい行を my に挿入します。ローカルテーブル、そしてSqlBulkCopyローカルテーブルが大きくなった後。

私の質問は次のとおりです:このデータ編集ステップの「最良の」アプローチ(パフォーマンスに関して)は何でしょうか? これにはlinqタイプのアプローチがある可能性が非常に高いと思いますが、それはより良いパフォーマンスを発揮しますか?

4

1 に答える 1