为了账号安全,请及时绑定邮箱和手机立即绑定

请问将文件存储在数据库Vs文件系统中

请问将文件存储在数据库Vs文件系统中

翻过高山走不出你 2019-09-14 11:06:47
将文件存储在数据库Vs文件系统中我的一位客户要求提供文件管理系统,用于数千种不同格式的文档,即pdf,doc,docx等。我的问题是在数据库或文件系统中存储此文件的最佳方法是什么?两种方法之间如何轻松保护文档?快速检索文件是关键要求..如果有帮助,我正在使用mysql问候。
查看完整描述

3 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

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

使用文件系统时要小心:

  • 机密性:将文档放在Apache Document Root之外。然后你的PHP控制器将输出文件。

  • 分片路径:不要在同一目录中存储数千个文档,制作不同的目录。例如,您可以在文件名上使用哈希值进行分片。例如/documents/A/F/B/AFB43677267ABCEF5786692/myfile.pdf。

  • Inode编号:如果存储了大量小文件,则可能会用完inode(如果主要存储PDF和Office文档,则可能不是这种情况)。

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

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



查看完整回答
反对 回复 2019-09-16
?
白衣非少年

TA贡献1155条经验 获得超0个赞

使用大型数据库的文件系统访问通常意味着比将它们存储在mysql数据库中更快的访问和更少的开销。


查看完整回答
反对 回复 2019-09-16
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

为了获得高性能,您应该使用文件系统,使用php glob函数和JS接口。我在三月完成了这样的项目。

查看完整回答
反对 回复 2019-09-16
  • 3 回答
  • 0 关注
  • 780 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信