我们有一个相当大的磁盘阵列,上面大约有 2-3 百万个 XML 文件。磁盘使用 NTFS 格式化,我们想使用通配符搜索文件系统。所以像 * SomePartOfTheFilename * 这样的东西将是一个典型的搜索查询。
我们正在使用 .Net 并且发现使用 DirectoryInfo 似乎很慢。
DirectoryInfo directoryInfo = new DirectoryInfo(directory);
List<FileInfo> fileInfos = directoryInfo.GetFiles(searchString, SearchOption.AllDirectories).ToList();
使用循环和递归也很慢。
是否有可以用来直接搜索 NTFS 索引的较低级别的 API 调用?
从命令行使用 dir * SomePartOfTheFilename * /s 几乎是即时的。有什么可以利用的吗?