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

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

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

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

3 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

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

使用文件系统时要小心:

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

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

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

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

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


查看完整回答
反对 回复 2019-07-24
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

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

一个有趣且可能相关的帖子:在DB中存储图像 - 是或不是?


查看完整回答
反对 回复 2019-07-24
?
莫回无

TA贡献1865条经验 获得超7个赞

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


查看完整回答
反对 回复 2019-07-24
  • 3 回答
  • 0 关注
  • 659 浏览

添加回答

举报

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