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

存储上载的图像,SQL数据库或磁盘文件系统的最佳位置是什么?

存储上载的图像,SQL数据库或磁盘文件系统的最佳位置是什么?

Helenr 2019-10-14 14:10:39
我正在编写一个允许用户将图像上传到服务器的应用程序。我希望每天约20张全jpeg图像,并且可能未编辑/调整大小。(这是另一个问题,如何在存储前在服务器端调整图像大小。也许有人可以在注释中删除.NET资源)。我现在想知道存储上传图像的最佳位置是什么。将图像作为文件存储在文件系统中,并在具有该图像确切路径的表中创建记录。或者,使用数据库服务器的“图像”或“二进制数据”数据类型将图像本身存储在表中。我看到了两者的优点和缺点。我喜欢a),因为我可以轻松地重定位文件,而只需更改表条目。另一方面,我不喜欢将业务数据存储在Web服务器上,并且我真的不希望将Web服务器连接到保存业务数据的任何其他数据源(出于安全原因),我喜欢b),因为所有信息都是在一个地方,并且可以通过查询轻松访问。另一方面,数据库很快就会变得很大。将数据外包可能会更加困难。
查看完整描述

3 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

我通常将文件存储在文件系统上,因为这是它的用途,尽管有例外。对于文件,文件系统(通常)是最灵活,性能最高的解决方案。

将文件存储在数据库中存在一些问题-文件通常比平均行大得多-包含许多大文件的结果集将占用大量内存。另外,如果您使用采用表锁进行写操作的存储引擎(例如,ISAM),则文件表可能经常被锁定,具体取决于存储在其中的文件的大小/速率。

关于安全性-我通常将文件存储在文档根目录之外的目录中(无法通过http请求访问),并通过脚本进行服务,该脚本首先检查正确的授权。


查看完整回答
反对 回复 2019-10-14
  • 3 回答
  • 0 关注
  • 670 浏览
慕课专栏
更多

添加回答

举报

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