我的网站上所有图片都是从MySQL数据库加载的 有时,当许多客户连接到网站时,它会减慢速度。我正在对我的服务器进行一些优化。代码以提高总体绩效 作为变革的候选人,我想知道将文件移出数据库&从静态文件而不是动态生成的内容加载,可以对我的性能有任何显着的改善吗? 如果是,是否有任何关于它的基准?
答案 0 :(得分:2)
将图像存储在数据库中通常是一个坏主意,但是你会看到很多人没有任何理由这样做。
在99%的情况下,我建议只存储数据库中图像的文件路径引用,并静态存储图像。
以下是一些原因:
答案 1 :(得分:0)
我和你的情况类似。解决方案很简单:缓存内容。
当您第一次运行查询以获取图像时,即:
SELECT * FROM images WHERE id = 1
然后只需将结果缓存到文件中:
file_put_contents("image1.png",$row['data']);
下次只需检查文件是否存在,这将避免查询数据库