【问题标题】:Saving pictures in the a MySQL DB vs saving it as file将图片保存在 MySQL 数据库中与将其保存为文件
【发布时间】:2012-05-14 09:14:53
【问题描述】:

我知道这个问题在这里以各种方式提出,但没有一个答案是决定性的。

我有一个系统,其中包括更新网站画廊。 我既可以将文件“上传”到网站(并在系统中保存副本 - 需要),也可以将其保存在数据库中并节省空间(以及另一个上传)。如果我使用这些文件,我需要“通知”网页每次更改(图片删除、添加或更改),而不仅仅是在数据库中进行更改。

所以:

  1. 如果我们谈论的是带有图片库的标准网站,最好将图片保存为图片还是数据库中?
  2. 如果网页访问量很大或很大,有什么区别吗?

差异有那么大吗?还是选择方便的方式?

虽然我提出了我的案例,但我也希望有一个“更笼统”的答案,但在谈到保存文件时,“好的”方法是什么。

提前感谢您的澄清,

米歇尔。

【问题讨论】:

  • PHP to store images in MySQL or not? 的可能重复项 - 尽管它的名称不是 PHP 特定的。
  • 相关(重复?):Saving images in database mysql.
  • 两者不一样。这里的问题是没有简单的方法来控制图片的变化。如果上传了一些图片,系统需要AJAX制作get_file_contents的网站并保存图片。如果图片是我需要删除的更改,则保存新的,等等。我阅读的两个答案都没有这样的问题。

标签: mysql database


【解决方案1】:

仅将结构化数据放入数据库。图像是文件,应保存在文件系统中。随着图片/用户数量的增长,数据库的性能会越来越下降。而是创建一个图像对象,您可以使用它来跟踪图像位置和元数据。

【讨论】:

    【解决方案2】:

    在我之前的项目中,我遇到了同样的问题。

    我决定只在我的数据库中存储图像的路径(这只是一个字符串)并将图像保存在文件系统中,而不是在数据库中。

    这在很多方面都是最佳做法。 它使您的数据库保持较小,获得大量行的速度更快,并且数据库备份明显更小。

    只需将图像放入文件中并将路径保存在数据库中,以便以后检索。

    【讨论】:

    • 这在复制的情况下可能不起作用。只会复制文件路径,不会复制数据。
    • 确实,文件名必须不一样,否则不起作用。
    猜你喜欢
    • 2017-03-04
    • 1970-01-01
    • 2011-02-14
    • 2011-09-16
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    相关资源
    最近更新 更多