将图像存储在数据库或系统文件中?

准确重复: 用户映像:数据库还是文件系统存储?
精确重复: 在数据库中存储图像:是或不是?
完全重复: 我应该将我的图像存储在数据库或文件夹中吗?
完全重复: 你会将二进制数据存储在数据库还是文件夹中?
确切的重复:将 图片存储为文件或Web应用程序的数据库?
完全重复: 存储less量图像:blob或fs?

我必须存储用户的个人资料图像(100px * 100px)什么是最好的方式来存储它? 数据库或系统文件? 哪一个更好,更快,更安全…?

始终将图像,音乐文件等存储在磁盘上的系统文件中,然后将url存储在数据库中。 这将使它

1)更快

2)更容易configuration安全设置

3)以我能想象的任何方式更好

SQL Server 2008提供了两全其美的function 。

我将提出第三个select,第三方派对,如Amazon S3或Mosso Cloud Files。 两者都提供可用于上载文件的API,并提供CDNfunction,以便文件加载速度更快,然后closures服务器或从数据库中提取文件。

这是一个不错的select,因为它是两全其美的。 在数据库中存储图像的不利之处在于它对应用程序和数据库服务器(查找文件并拉动它)带来额外的压力,这也会导致数据库的大小增加,这意味着您需要更早的硬件。

将它们存储在文件系统中的缺点是,您现在遇到了扩展问题,就好像要添加其他Web服务器一样,每个服务器都需要一个映像副本,否则您需要为这些映像创build一个专用服务器。 另外,文件系统访问可能是未来的瓶颈。

数据库使备份和恢复变得更加容易,而且对于小图像来说,它比文件系统存储的效果更好。 微软已经发表了关于这个主题的研究论文: BLOB或者不BLOB 。