0

CSLA を使用して ~ 区切りテキスト ファイルから SQL Server にデータをインポートしようとしています。テキスト ファイルには 92,000 レコードが含まれています。インポートで私が抱えている問題は次のとおりです

  1. BusinnessListBase .new を作成してすべてのレコードを追加すると、「メモリ不足の例外」が発生します。それを修正するために、新しいビジネスベースオブジェクトを作成して保存します。これはうまく機能し、はるかに高速です。15分かかります
  2. プログラムを再度実行し、変更を確認して更新する必要があります。これには時間がかかりすぎます。
  3. インポートを高速化する別の方法はありますか?
4

2 に答える 2

0

CSLA と Entity Framework の両方を使用するのに時間がかかる理由がわかりません。しかし、SQL 一括コピーを使用するようにプログラムを変更し、既存のレコードも確認する必要があったため、別のステージング テーブルを作成し、そこにレコードをインポートして、SQL ストアド プロシージャで Upsert を実行しました。プロセス全体で 92,000 件のレコードを処理するのに 1 分もかかりませんでした。

于 2012-09-12T16:33:02.953 に答える
0

これを行う最適な方法は、Microsoft SQL Server で OpenRowSet または LinkedServers を使用することです。OpenRowSet はとても便利です。参考までに、こちらをご覧ください: http://msdn.microsoft.com/en-us/library/ms190312.aspx

また、私の意見では、15 分間は良いパフォーマンスではありません。はるかに高速になるはずです。

乾杯

于 2012-09-08T17:40:22.983 に答える