MySQL用户和文件夹

时间:2012-01-30 17:06:57

标签: php mysql directory

我有一个网站,用户可以注册并上传他们的图片和视频。每个用户都会根据某些标准显示,当访问者点击他们的名字时,他们会看到投资组合。

我的问题是:哪个更好,为每个用户设置文件夹(在注册时创建名称为unique_id的文件夹或某种类型),以便他们可以在其中上传图片和视频或重命名上传文件并将所有内容放在一个文件夹中或者使用二进制blob转换将图像直接存储在数据库中?

2 个答案:

答案 0 :(得分:1)

从性能角度来看,我认为每个用户拥有一个目录会更好。 NTFS分区上目录的最大限制似乎超过40亿,这应该足以应付任何应用程序。

如果您使用Linux / Unix,您可以拥有的最大文件夹数量也会因分区类型而异,但如果NTF的限制足够大,我想ext3或任何一个日志文件系统都应该有足够的限制同样。

关于在数据库或文件系统上存储图像是否更好,其他人已经指出了一个众所周知的related question here。我的看法是,一般来说,任何一种解决方案都能很好地运作,并且两者都有利有弊,这使得决定最终成为一种品味问题。

答案 1 :(得分:1)

文件或数据库已如上所述重复。

关于文件存储:

执行此操作有许多不同的方法。这取决于所需的性能,用户数量,文件数量等。

例如,如果一个人要上传数十万个文件,将它们全部放在一个文件夹中是不明智的。

如果你有数百万用户,你不需要像userdata / {userid} /这样的结构,因为你会在userdata /中获得数百万个文件夹。这也会带来可能的问题。

例如,您可以通过将用户数据保存在不同的服务器上来实现某种分片方法。因此在选择“只保存为普通文件”时可以选择很多选项。