私はプロジェクトを行っています。以前はブログ記事はフォルダ内のテキストファイルでした。これで、SQL Server 2008サーバーのデータベースにアーティクルコンテンツを格納します。DirectoryInfo 8K以上のファイルを持つGetFiles()
今はファイル名を取得しようとしているだけで、レコードは挿入されません。今は仕上げに15分以上かかります。これはWindowsフォームです。ここで
は、私が今持っているものです。
private void LoadButton_Click(object sender, EventArgs e)
{
var dirInfo = new DirectoryInfo(@"P:\op\articles");
foreach (var currFile in dirInfo.GetFiles())
{
using (StreamReader sr = new StreamReader(currFile.FullName))
{
OutputTextBox.Text += currFile.FullName + "\r\n";
}
}
}
がありますとにかく私はそれだけでグラブが1kの記事が処理してから削除するように言って何かを行うことができますか?この作業をより迅速に行うためのより効率的な方法はありますか?
8kファイルを1つのディレクトリに置くことはできませんか?おそらく、それぞれのサブディレクトリの数を減らして、たくさんのサブディレクトリを作ることができますか? – ashlar64
なぜ各ファイルのStreamReaderを初期化するのですか?ちょっと興味があるんだけど。 –
IEnumerableを使用すると、一度に8000のチャンクを取得できるため、一度に100個以上の処理を行うことができます。 –
confusedandamused