【发布时间】:2012-11-07 15:58:52
【问题描述】:
我正在开发一个 ASP.NET Web 应用程序,该网站托管在具有大硬盘驱动器 (30 GB) 的 VDS(虚拟专用服务器)上。用户可以上传图片,目前图片存储在数据库图片列中(SQL server 2008)。将图像作为文件存储在硬盘上而不是保存在数据库中更好吗?每种方法的优缺点是什么?我想每天大约有 100 张图片,所以我想数据库会快速增长,最后我会有一个非常大的 MDF 文件!
【问题讨论】:
-
还要考虑进行数据库备份的情况。
-
在 sql server technet.microsoft.com/en-us/library/bb933993(v=sql.105).aspx 中检出文件流。
-
存储为文件时,如果需要更改文件夹结构,请考虑更新所有图片链接,当图片存储在DB中时,您不需要关心应用程序的文件夹结构
-
如果您将图片的链接存储为 url,当您需要存储外部图片 url 作为上传到自己服务器的替代选项时会更容易
-
当您想将服务器迁移到其他地方时,如果图像在单个数据库文件中会更容易,否则您可能需要迁移数千张图像,并且可能需要比其他人更多的时间. (仅在极少数情况下适用,您可以忽略这一点)
标签: asp.net sql-server