这个问题在这里已经有了答案:




9年前关闭。






我一直在使用 RIA 技术(Flex + PHP + MySQL + Ajax)开发一个 web 应用程序,现在我在图像文件方面陷入困境。

我在我的 Flex 应用程序中使用了一些图像,所以我认为“如果我将它们存储到数据库中,然后从中检索会很棒;因此,维护过程应该更容易”。但是,这是我的困境:

我应该存储图像的物理 URL,还是直接存储图像会更好?

例如,我的Cars表应如下所示:



或者像这样?



我知道这里有很酷的人可以回答我这个问题,向我解释哪个更好以及为什么:)

最佳答案

我个人建议将图像存储在数据库中。当然它有利也有弊。

在数据库中存储BLOB数据的优点:

  • 使 BLOB 数据与行中的其余项目保持同步更容易。
  • BLOB 数据与数据库一起备份。拥有单个存储系统可以简化管理。
  • BLOB 数据可以通过 MySQL 中的 XML 支持访问,它可以返回 XML 流中数据的基本 64 编码表示。
  • MySQL 全文搜索 (FTS) 操作可以针对包含固定或可变长度字符(包括 Unicode)数据的列执行。您还可以对图像字段中包含的格式化文本数据执行 FTS 操作,例如 Microsoft Word 或 Microsoft Excel 文档。

  • 在数据库中存储 BLOB 数据的缺点:

    仔细考虑哪些资源最好存储在文件系统而不是数据库中。很好的例子是通常通过 HTTP HREF 引用的图像。这是因为:
  • 与使用文件系统相比,从数据库中检索图像会产生大量开销。
  • 数据库 SAN 上的磁盘存储通常比 Web 服务器群中使用的磁盘上的存储更昂贵。
  • 关于mysql - 在 MySQL 数据库中存储图像文件或 URL?哪个更好?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8182315/

    10-10 16:18
    查看更多