将图像存储在数据库中与文件夹结构中 [英] Storing images in DB vs in Folder Structure

查看:10
本文介绍了将图像存储在数据库中与文件夹结构中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道可以将图像作为二进制大对象存储在数据库中.但是我曾经在一些论坛网络应用程序中看到它们作为平面文件存储在网络服务器机器中并在需要时检索.

I understand it is possible to store images in Databases as Binary large objects. But I used to see in some forum web applications that they are stored as flat files in web server machine and retrieved when needed.

这两种方法的优缺点是什么?

What is the advantage and disadvantage in both methods?

什么时候采用哪种方法?

When to go for which approach?

推荐答案

像往常一样,视情况而定.您需要考虑图像的使用模式以及您的 DBMS 提供的功能.

As usual, it depends. You need to consider the usage pattern of the images and what features your DBMS provides.

在数据库中存储图像:

优点

  • 如果图像要与数据库中的实体(例如用户)相关联,则数据库可以负责维护这种关系.另一方面,如果图像与数据库中的任何内容都没有关联,您可能不想将它们存储在数据库中.
  • 如果您的数据库支持,您将能够在事务中处理文件(我相信 MS SQL 2008 支持这一点,我不知道其他人是否支持).
  • 如果您需要存储每个图像的多个版本(例如,因为它们会随着时间的推移而发生变化),在数据库中执行可能比在文件系统中执行更容易.

缺点

  • 您会给数据库带来很大压力.
  • 备份数据库可能需要很长时间.

在磁盘上存储图像:

优点

  • 备份很简单
  • 检查图像等只需要文件浏览器,不需要数据库客户端

缺点

  • 根据您将对图像执行的操作,使数据库对图像集合的视图与磁盘上的实际内容保持同步可能并非易事.

当然,如果您存储大量图像,所有这些问题都特别有效.

Of course, all these concerns are particularly valid if you store large numbers of images.

这篇关于将图像存储在数据库中与文件夹结构中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆