毎日約 3000 個の新しい csv ファイルが入ってくるフォルダーがあり、それぞれに 50 ~ 2000 行の情報が含まれています。
現在、これらのファイルを一度に 1 つずつ取得し、各行を 1 つずつ取得してストアド プロシージャに送信し、コンテンツをデータベースに挿入するプロセスが用意されています。
これは、1 日の間に、次の 3000 ファイルが到着する前に 3000 ファイルを処理するのに苦労する可能性があることを意味します。
私はこのプロセスを改善しようとしており、次のアイデアがありました
- C# 4.0 の新しい Parallel 機能を使用して、複数のファイルを一度に処理できるようにし、引き続き 1 行ずつストアド プロシージャに渡します。
- ファイル内のすべての行を一度に挿入できる新しい一時データベース テーブルを作成し、一時テーブルに新しく追加された行に対してストアド プロシージャを呼び出します。
- プロセスを 2 つのタスクに分割します。1 つのジョブはファイルから一時データベース テーブルにデータを読み取り、もう 1 つは一時テーブルの行を処理します。
これを行う方法について他のアイデアはありますか?現在、ファイルごとに最大 20 秒かかる場合があります。このパフォーマンスを大幅に改善したいと考えています。