从FS流式传输图像或从BLOB流式传输图像会更快吗?

时间:2012-10-22 22:50:04

标签: php mysql streaming blob bandwidth

从文件系统流式传输图片/图像或从BLOB流式传输MySQL数据库是否更快?

我实际上在问:

  

PHP从表中读取图片并输出图片会更快吗?   到浏览器,或直接从文件系统流式传输?

2 个答案:

答案 0 :(得分:3)

首先:在大多数情况下,从文件系统中读取它会更快。

以“首先”开头的所有东西都需要“但是”或“另外” - 我会尝试提供两者:

  • 另外您可以通过使用BLOB数据的缓冲页来减慢其他查询,否则可以将其用于数据或索引。

  • 如果扩展到多于一个服务器的体系结构,则需要一个共享文件系统,这本身就是一个雷区。这有时(在特殊用例中,不是常规用法),是让陪审团摆动存储BLOBS的论据

答案 1 :(得分:0)

没有任何研究,IMO就无法做出有效的陈述。这个paper例如得出结论:

  

小于256K的对象最好存储在数据库中,而大于1M的对象最好存储在文件系统中。在256K和1M之间,读取:写入比率和对象覆盖或替换率是重要因素。

这仅适用于他们的环境(SQL Server 2005)。无论如何,我认为在DBS(例如ACID)中拥有资源的优势将占主导地位,如果它不是PHP那么简单doesn't support streaming BLOBs近十年(与手册所说的相反)。