完了するまでに約 625 日かかるコンソール アプリケーションがあります。速くする方法がない限り。
まず、約 4,000,000 個のファイルがあるディレクトリで作業しています。私は、ファイルごとに行があり、次にいくつかの行があるデータベースで作業しています。
現在、SQL での作業は比較的高速です。ボトルネックは、File.Move()
各移動を使用すると完了するまでに 18 秒かかることです。
より速い方法はありFile.Move()
ますか?
これがボトルネックです。
File.Move(Path.Combine(location, fileName), Path.Combine(rootDir, fileYear, fileMonth, fileName));
他のすべてのコードは非常に高速に実行されます。1 つのファイルを新しい場所に移動してから、データベースの場所フィールドを更新するだけです。
必要に応じて他のコードを表示できますが、実際には上記が現在の唯一のボトルネックです。