从文件系统流式传输图片/图像或从BLOB流式传输MySQL数据库是否更快?
我实际上在问:
PHP从表中读取图片并输出图片会更快吗? 到浏览器,或直接从文件系统流式传输?
答案 0 :(得分:3)
首先:在大多数情况下,从文件系统中读取它会更快。
以“首先”开头的所有东西都需要“但是”或“另外” - 我会尝试提供两者:
另外您可以通过使用BLOB数据的缓冲页来减慢其他查询,否则可以将其用于数据或索引。
但如果扩展到多于一个服务器的体系结构,则需要一个共享文件系统,这本身就是一个雷区。这有时(在特殊用例中,不是常规用法),是让陪审团摆动存储BLOBS的论据
答案 1 :(得分:0)
没有任何研究,IMO就无法做出有效的陈述。这个paper例如得出结论:
小于256K的对象最好存储在数据库中,而大于1M的对象最好存储在文件系统中。在256K和1M之间,读取:写入比率和对象覆盖或替换率是重要因素。
这仅适用于他们的环境(SQL Server 2005)。无论如何,我认为在DBS(例如ACID)中拥有资源的优势将占主导地位,如果它不是PHP那么简单doesn't support streaming BLOBs近十年(与手册所说的相反)。