Eas*_*onk 3 php mysql performance lamp
我有一个带256MB RAM的LAMP服务器(云端的穷人服务器).我有一个应用程序编写在这台机器上运行.目前人们上传图像,他们直接进入mysql作为BLOB.
有人担心这可能是非常耗费内存的操作,我们将其转移到简单的普通文件.有人可以告诉我这些问题是否有效?(考虑到我们将在未来6个月内拥有足够的内存,我们是否值得努力改变已经写好的颂歌?)
作为一般规则,我们应该何时将图像存储在数据库中以及何时作为文件?
您应该将它们存储在文件系统中,原因如下:
您应该考虑在数据库中存储图像的唯一时间是在事务处理中使用它们时,即使这样,存储在文件系统中时也会有很多变通方法.
总结一下:
数据库存储:
优点:
缺点:
文件系统存储
优点:
缺点:
如果图像的参照完整性很重要,请将它们存储在数据库中.优点是备份数据库始终意味着您的行和图像是同步的.它确实意味着存储和检索是一种更昂贵的资源.
如果图像本身并不重要,请将它们存储为文件.它允许快速和简单的检索和存储.但是,使用文件的缺点是备份策略变得更加复杂,并且您的文件并不总是与数据库行同步.
我个人总是将它们存储在数据库中.对我来说,奖励比成本更高.但情况并非总是如此,您应该查看您的应用程序要求,看看哪种方法最适合您.
一些大型网站正在使用BLOB来存储他们的网站内容.Flickr对BLOB的使用实际上有很好的记录.但要回答您的问题,文件存储比数据库存储更有效.