【发布时间】:2014-04-17 20:54:24
【问题描述】:
我在计算文件共享上的文件时遇到问题(存在时间超过 1 小时):
两种“已知”方法:
获取文件
dir.Getfiles.Where(Function(x) x.CreationTime < DateTime.Now.AddHours(-1)).Count()
链接:GetFiles
枚举文件
dir.EnumerateFiles.Where(Function(x) x.CreationTime < DateTime.Now.AddHours(-1)).Count()
有没有更快的方法来计算文件夹/文件共享中的文件数量?
文件数量可能从 2000 到 500 000 以上不等。上面显示的两种方法都显示超过 30 000 个文件时性能急剧下降。
在 SO 上发现的问题并没有为我解决:
【问题讨论】:
-
一个目录下有500,000个文件吗?也许这就是你应该首先尝试解决的问题。
-
没有办法绕过那个自动取款机。我们正在生产环境中工作,成本会飙升。我们希望使用上述计数来监控不同数量的文件,以便创建超时图。我们的最终目标当然是拆分不同的业务流程,但没有实际依据/证据我们不能要求管理层投资。
标签: .net vb.net count directory