用户上传的文件夹结构是否会随着网站的增长对性能产生影响?
例如,我考虑过这种存储照片/相册的结构:
Public folder
- Uploads
-- Users
--- User ID
---- Album ID - contains all photos in the album
提前致谢!
答案 0 :(得分:11)
用户上传的文件夹结构是否会随着网站的增长对性能产生影响?
是的,它可以。如果在单个目录中存储太多文件,则可能会降低操作速度。张贴结构非常好。
编辑也许我会快速回答上面的答案而且缺少一些解释,所以下面我将其扩展:
如果您希望用户拥有数万张图片,您应该考虑以下解决方案:
在数据库中创建表格并将有关每张照片的信息放入其中。从记录ID md5哈希创建照片文件名。
数据库表示例:
+-----------------------------------------------------------------+ | id filename ext created_at user_id | +-----------------------------------------------------------------+ | 1 c4ca4238a0b923820dcc509a6f75849b jpg 1381127206 1 | | 2 c81e728d9d4c2f636f067f89cc14862c jpg 1381123406 2 | | .. .. .. .. | +-----------------------------------------------------------------+
现在拆分md5哈希并从第一个创建目录结构,比方说,6个字母:
uploads/ users/ photos/ c4/ ca/ 42/ c4ca4238a0b923820dcc509a6f75849b.jpg c8/ 1e/ 72/ c81e728d9d4c2f636f067f89cc14862c.jpg
优点:
还要确保在文件系统上启用目录索引(默认情况下在较新的系统上启用)。