我在Linux平台上开发了一些PHP项目.将数千个图像(文件)放在一个目录中是否有任何缺点?这是封闭的,不会增长.另一种方法是使用基于某个ID的目录结构来分离这些文件(这样一来,在一个目录中就会说只有100个).
我问这个问题,因为当我在不同网站上查看图片网址时,我常常看到这种分离.您可以看到以这种方式完成目录分离,即一个目录中不会有数百个图像.
如果不将几千个文件(不增长的集合)放在一个目录中,而是将它们分成100组,我会得到什么?是不是值得复杂化?
更新:
对目录中的文件不会进行任何编程迭代(只需通过文件名直接访问图像)
我想强调图像集已关闭.它不到5000张图像,就是这样.
此图像没有逻辑分类
不需要人工访问/浏览
图像具有唯一的文件名
操作系统:Debian/Linux 2.6.26-2-686,文件系统:ext3
来自答复的有价值的信息:
为什么将许多文件分成不同的目录:
"在nfs上使用ext3时,每个目录限制32k文件"
性能原因(访问速度)[但对于几千个文件很难说它是否值得,没有测量]
MightyE.. 7
除了通过将图像分成子目录来加快文件访问速度之外,还可以在达到文件系统的自然限制之前显着扩展可以跟踪的文件数.
一种简单的方法是md5()
文件名,然后使用前n个字符作为目录名(例如substr(md5($filename), 2)
).这确保了合理均匀的分布(与直接文件名的前n个字符相比).
除了通过将图像分成子目录来加快文件访问速度之外,还可以在达到文件系统的自然限制之前显着扩展可以跟踪的文件数.
一种简单的方法是md5()
文件名,然后使用前n个字符作为目录名(例如substr(md5($filename), 2)
).这确保了合理均匀的分布(与直接文件名的前n个字符相比).