如何最好地将Web应用程序映像存储在文件系统中

时间:2010-10-22 01:25:16

标签: mysql database storage

存储文件系统中数据库中引用的大量文件的最佳做法是什么?

我们目前正在从一个存储大约14,000个文件(大约6GB的图像和文档)的系统中移植到MySQL数据库中。这很快变得无法管理。

我们目前计划通过文件系统中的数据库主键保存文件。我担心在同一个文件夹中包含那么多文件可能会出现性能问题。此外,这些文件将由同一服务器上的多个不同应用程序插入。

具体来说,我想知道:

  • 根据这些参数,这是一个很好的解决方案吗?
  • 将来是否会留下进一步扩大的空间?
  • 是否有关于在同一位置存储多个文件的问题?
  • 是否有更好的方法来命名/分发文件?

2 个答案:

答案 0 :(得分:2)

我喜欢将文件命名如下             / *创建目录* / $ dir = date('Y')。'/'。date('m')。'/'。date('d');

答案 1 :(得分:1)

使用MD5散列内容,然后添加后缀(PK就足够了)来获取文件的新文件名。创建与散列的第一个字符对应的16个文件夹。在第二个字符的每个文件夹下创建16个文件夹。根据哈希的前两个十六进制字符将图像存储在适当的路径中,然后将哈希值添加到数据库中的相应记录中。