0

データベースから1,000万を超えるレコードをフェッチし、テキストファイルに書き込んでいます。この操作を完了するには数時間かかります。ここでTPL機能を使用するオプションはありますか?

誰かが私にTPLでこれを実装し始めてもらうことができれば素晴らしいと思います。

using (FileStream fStream = new FileStream("d:\\file.txt", FileMode.OpenOrCreate,     FileAccess.ReadWrite))
{
    BufferedStream bStream = new BufferedStream(fStream);
    TextWriter writer = new StreamWriter(bStream);
    for (int i = 0; i < 100000000; i++)
    {
        writer.WriteLine(i);
    }
    bStream.Flush();
    writer.Flush(); // empty buffer;
    fStream.Flush();
}
4

1 に答える 1

0

コードサンプルは整数をファイルに書き込むだけで、データベースへのアクセスは行いません。それでもすぐに解決しない場合は、ハードウェアに問題があります。最も可能性の高いボトルネックは、データベースからデータをフェッチすることです。クエリが遅いか、接続が遅い。データベースの種類を指定してクエリを表示すると、これを拡大できます...

于 2012-09-17T09:37:06.370 に答える