将图片存储在数据库中

时间:2010-09-29 03:54:23

标签: mysql

  

可能重复:
  Storing Images in DB - Yea or Nay?
  Saving images in database mysql

我有一个网站,用户可以上传个人资料图片和相册。现在我开始怀疑我是想将图片保存到数据库中还是文件操作仍然可以随着它变大? 我在思考像社交网络一样大规模,存储在文件中的数亿张图片在我看来很疯狂,所以我确定它必须以其他方式存储?

任何建议或指导。 感谢

3 个答案:

答案 0 :(得分:8)

将它们存储在您的网络服务器上并在您的数据库中使用该URL会更好。它也可以更容易地修改图像。

答案 1 :(得分:4)

两种方法都有利弊。数据库对于存储大量数据并不是很好。这样做往往会占用数据库上的大量资源(CPU,内存,硬盘空间以及数据库和Web服务器之间的网络带宽)。它将使数据库备份更大。

然而,将图像存储在单独的文件系统(例如在Web服务器上)上的一个大问题是,将它与数据库中的数据同步要困难得多。如果用户在进行数据库备份时更改了照片,则谁知道您最终会处于什么状态。如果您需要从备份还原数据库,则同步图像将非常困难。如果你不小心的话,你也可能会因为浪费磁盘空间而挂起孤立的图像。

恕我直言,维护数据库和文件系统之间的数据完整性需要付出太大的努力,所以我会将它们存储在数据库中,因为它可以跟上硬件,所以可以跟上它。

答案 2 :(得分:1)

将图片保存在您的网络服务器上,因为您要开发社交网站,这将对数据库造成巨大负担。因为有时你必须处理++ MB的图片。因此只存储BD中的链接。

从文件中,您可以轻松地使用图片进行播放,甚至可以轻松迁移它们而不会对数据库产生任何影响。