一尘不染

将文件存储在数据库与文件系统中

mysql

我的一位客户要求为成千上万种不同格式(例如pdf,doc,docx等)的文档提供文档管理系统。我的问题是在数据库或文件系统中存储此文件的最佳方法是什么?两种方法之间如何轻松保护文档?

快速检索文件是关键要求。

我正在使用mysql如果有帮助

问候。


阅读 513

收藏
2020-05-17

共1个答案

一尘不染

您可能希望将其直接存储到文件系统中。

使用文件系统时,请注意:

  • 机密性: 将文档放在Apache文档根目录之外。然后,您的PHP控制器将输出文档。
  • 分片路径: 不要在同一个目录中存储成千上万个文档,请创建不同的目录。例如,您可以在文件名上使用散列进行分片。例如/documents/A/F/B/AFB43677267ABCEF5786692/myfile.pdf。
  • *索引节点 *号: 如果存储很多小文件,则索引节点用完了(如果大多数情况下存储PDF和Office文档,则可能不行)。

如果您需要搜索这些文档(日期/标题/等…),则可能需要将元数据存储到数据库中以获得更好的性能。

仅供参考,在此问题中, MS SQL
Server具有FILESYSTEM列类型(如混合类型),但目前MySQL
没有替代方法

2020-05-17