话说一紧急项目,哥手一抖,就把图片存到 mysql 里面了,现在发现问题。

2015-01-13 11:38:39 +08:00
 flash866

把三个月的项目周期压缩到2周了,于是哥手抖了,图片一律进了MySQL。
现在项目上线了,问题出在list页面(PS:列表中哥分页都来不及搞),本来如果是纯文字性的列表是不会有问题的,但是因哥实在是贱,这种情况下还在考虑用户体验,在列表中加了个图片预览列,虽然用户叫好了,但是数据库动不动就报 Mysql gone away。

因为用户已经看到界面,所以现在无法在去掉那个图片列字段。

我想了下,问题应该是出在显示list页面时,取出的数据量过于庞大(图片每个大概1M,初始阶段,大概100条数据左右,这样每次一个select后占用的内存在100M左右)。

还有救没?

4993 次点击
所在节点    PHP
27 条回复
kaneg
2015-01-13 22:20:36 +08:00
用缓存。类似的设计以前做过,当时是文本转换图片。在第一次访问的时候把内容load出来后写到文件中去,之后访问先查文件在不在,在的话直接redirect过去。
Daghlny
2015-01-13 23:24:31 +08:00
以前在学校做项目的时候就把图片加进mysql了。。。
网址:123books.sinaapp.com
15ir
2015-01-13 23:40:11 +08:00
@Daghlny
atan
2015-01-14 00:51:05 +08:00
可以用类似select2那样的组件,支持ajax加载,一次只加载10条,滚动下去后再加载10条。。。
zeayes
2015-01-14 09:20:36 +08:00
趁现在数据量还不是很大,赶紧迁移出来吧。图片、视频这样的东西还是存文件系统比较好。
husinhu
2015-01-14 09:28:43 +08:00
@huigeer 哈哈
Tianpu
2015-01-16 00:24:32 +08:00
thumbnail存数据库挺合理的,然后用data uri,简直是最优解

大图没有必要存数据库

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/161671

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX