約 200 万から 300 万の XML ファイルを含むかなり大きなディスク アレイがあります。ディスクは NTFS でフォーマットされており、ワイルドカードを使用してファイル システムを検索したいと考えています。したがって、 * SomePartOfTheFilename * のようなものが典型的な検索クエリになります。
.Net を使用していますが、DirectoryInfo の使用が遅いように見えます。
DirectoryInfo directoryInfo = new DirectoryInfo(directory);
List<FileInfo> fileInfos = directoryInfo.GetFiles(searchString, SearchOption.AllDirectories).ToList();
ループと再帰の使用も非常に遅くなります。
NTFS インデックスを直接検索するために使用できる下位レベルの API 呼び出しはありますか?
コマンドラインから dir * SomePartOfTheFilename * /s を使用すると、ほぼ瞬時に実行できます。活用できるものはありますか?