【问题标题】:storing images in database or on hard drive将图像存储在数据库或硬盘上
【发布时间】:2012-11-07 15:58:52
【问题描述】:

我正在开发一个 ASP.NET Web 应用程序,该网站托管在具有大硬盘驱动器 (30 GB) 的 VDS(虚拟专用服务器)上。用户可以上传图片,目前图片存储在数据库图片列中(SQL server 2008)。将图像作为文件存储在硬盘上而不是保存在数据库中更好吗?每种方法的优缺点是什么?我想每天大约有 100 张图片,所以我想数据库会快速增长,最后我会有一个非常大的 MDF 文件!

【问题讨论】:

  • 还要考虑进行数据库备份的情况。
  • 存储为文件时,如果需要更改文件夹结构,请考虑更新所有图片链接,当图片存储在DB中时,您不需要关心应用程序的文件夹结构
  • 如果您将图片的链接存储为 url,当您需要存储外部图片 url 作为上传到自己服务器的替代选项时会更容易
  • 当您想将服务器迁移到其他地方时,如果图像在单个数据库文件中会更容易,否则您可能需要迁移数千张图像,并且可能需要比其他人更多的时间. (仅在极少数情况下适用,您可以忽略这一点)

标签: asp.net sql-server


【解决方案1】:

这取决于您的优先事项。对于哪种方法最好,没有一概而论的答案。但是,除非您预见需要为这些图像使用数据库备份,否则存储指向文件系统的指针就足够了。否则,filestream 选项最适合将图像存储在数据库中。

PinalDave 写过关于这个主题的文章,您可能会发现讨论很有趣: http://blog.sqlauthority.com/2009/07/13/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/

【讨论】:

    猜你喜欢
    • 2013-01-09
    • 2016-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    • 2011-03-13
    • 2018-11-22
    相关资源
    最近更新 更多