2011-03-21 58 views
3

我们有一个构成图像文件大档案的项目... 我们尝试将它们拆分成主归档文件夹内的子文件夹。 每个子文件夹最多包含2500个文件。在Windows文件夹(NTFS)中建议使用多少个文​​件?

例如:

C:\Archive 
C:\Archive\Animals\ 
C:\Archive\Animals\001 - 2500 files... 
C:\Archive\Animals\002 - 2300 files.. 
C:\Archive\Politics\ 
C:\Archive\Politics\001 - 2000 files... 
C:\Archive\Politics\002 - 2100 files... 

等...什么是Windows下的存储方式等文件的最好方法?为什么,请......?

  • 后来,这些文件有自己的EXIF元数据提取和索引关键字,添加到Lucene索引...
+0

您只会在本地或通过网络访问该文件夹吗?它有很大的不同。 – 2011-03-21 21:58:30

+0

只有具有“FileSystemWatcher”组件才能添加或删除文件的Windows服务才能在本地访问该文件夹。该组件能够处理大批量的新文件... – Denis 2011-03-21 22:01:36

回答

7
(这是由一个Windows服务,住在服务器上完成)

我们有一个应用程序,我们试图确保我们不会在目录中存储超过1000个文件。至少在Windows下,我们注意到这个数字的性能极度下降。该文件夹理论上可以在Windows 7中存储多达4,294,967,295个。请注意,由于操作系统对文件夹进行了扫描,因此当您添加更多文件时,查找和列表会非常快速地降低。一旦我们得到了一个文件夹中的100,000个文件,它几乎完全无法使用。

我建议进一步分解动物,也许通过名字的第一个字母。与其他文件相同。这样可以让您将更多的东西分离出来,因此您不必担心目录性能。我可以给出的最佳建议是在系统上执行一些压力测试,以查看在目录中有足够文件后性能开始下降的位置。请注意,您需要几千个文件才能测试出来。

+1

一些其他好帖子:http://stackoverflow.com/questions/1613087/does-storing-a-lot-of-images-in-a-single-目录,慢下来,图像检索http://stackoverflow.com/questions/466521/how-many-files-in-a-directory-is-too-many – Scott 2011-03-21 22:03:00

+0

当然,谢谢,档案,目前,有大约2.000.000个文件用:)测试它(当然,它全部分解成文件夹和子文件夹,但每个文件最多有2500个文件...) – Denis 2011-03-21 22:04:16

+5

如果你不枚举文件,只是打开它们,NTFS上的单个文件夹中的400K文件很好。我已经做了测量,并且很惊讶这个事实。 – 2011-03-22 06:15:14