0

我正在建立一个带有用户身份验证系统的网站,允许每个用户将图像上传到他们的帐户,基本上我这样做是作为 Web 开发的经验,所以请原谅我对这个话题的无知。

我的问题涉及将文件放入目录的效率。创建更深的目录结构还是将所有文件放在一个文件夹中更有效?前者看起来很明显,但它不依赖于文件系统实现的搜索算法吗?

例如:

root/user/2012/----------------A/
         /2013/---------- A/   B/
         /2014/------A/   B/   C/
                     B/   C/   D/
                     C/   D/
                     D/

还是将所有文件转储到一个文件夹中?

root/user/

当检索图像时,例如通过<img>标签,哪种方式可以提供更有效的结果?我在 Google 上搜索了有关该主题的信息,但找不到任何明确的信息或在我的理解水平上。

4

2 回答 2

2

访问单个文件应该大致等效。单个目录或多项选择实际上取决于您尝试使用文件列表的方式。如果您希望用户拥有数千个文件并且一次只显示一年,则将目录结构分解为多个部分以保持文件列表的可管理性可能是有意义的。如果您总是显示所有文件,我怀疑单个文件夹可能会更快,因为您必须遍历整个目录列表来执行多个文件列表。我会根据您期望您的应用程序必须处理的内容进行一些测试。我的猜测是单个目录应该没问题,除非您期望大量文件并且您可以分解列表。

于 2013-01-06T19:17:28.983 回答
1

我不知道您打算在什么操作系统上运行,但我会采用多目录方法,因为某些 FS(例如 Windows 上的 NTFS)在处理单个目录中的 10000 多个文件时速度会非常慢

于 2013-01-06T18:57:08.703 回答