2KB项目,专业的源码交易网站 帮助 收藏 每日签到

将图片存储在 MySQL 中是一个坏主意

  • 时间:2019-01-23 18:48 编辑:2KB 来源:2KB.COM 阅读:416
  • 扫一扫,手机访问
  • 分享
摘要:
MySQL 英文原文:MySQL is not a filesystem

今早我在DZone无意中看到这篇文章。是教人如何把图像(用PHP)存入MySQL数据库的。有几样东西我并不赞同,我这里就不提了。我耿耿于怀的是它并没有提到这样做是非常不好的

关系数据库并非文件系统。文档存到文件系统,关系数据存到关系数据库(RDBMS)。重复几多几遍。

最大的争议的还是性能问题。我做过一个简单的测试。直接在google图片搜索里搜索并且下载了前10个。然后写脚本用2种不同的方式来读取这些图片:

1.从一张有两列的MySQL(MyISAM)表:ID(int, auto_increment)和DATA(mediumblob)
2. 使用readfile.

第三种测试方式,"FS",没有任何脚本,只是简单的通过http加载这些图片。

下面的结果都是用 Apache Benchmark 跑10次后取的平均值:每次运行都是10个并发请求,一共1000次请求

images

可见,MySQL的方式跟FS的方式比起来简直是巨慢无比。

存储图像(或二进制文档)的最好方法是用文件系统。每个现代网络服务器都能很流畅为静态内容提供服务,把它们存到数据库是不实际的,不仅慢,而且会使到数据库的备份复杂化了:MySQL很难把二进制数据压缩好,使得数据库备份慢且需要的容量大的多。

所以,请记得把文档存到文件系统。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部