现在设计一个数据库,是使用MySQL。其中从前端采集的数据中包含图片,还有其他的信息。从数据量上来看,图片是占主要部分的(90%以上)。在数据库中有几个表中的列是要存储图像的。现在有一个问题是,要把图像直接以二进制的格式存储到相应的表里面吗?如果这样做会不会影响查询该表其他列的速度呢? 好像有另一个解决方案是将图片以文件的形式存储,将地址放到数据表中。这样应该是可行的,就是觉得管理上有些麻烦,对于删除、备份、恢复有些不方便,特别是在windows和linux上移植的话就更不好弄了。我还想到另一个方法就是把图片单独做一个表在数据库里面,把该图片的索引号放到数据表里面,这样应该不会影响到该数据表的查询速度,只有当要在网页上显示的时候,再去访问那个图片的表。当然了,只要将图片放到数据库里面,就占用了数据库的IO。
不知道各位是怎么将处理数据库中的图片的,应该用什么样的方法呢?谢谢您的指点!!
不知道各位是怎么将处理数据库中的图片的,应该用什么样的方法呢?谢谢您的指点!!
解决方案 »
- 新手求助:如何判断ABCD档,并送到指定的表中
- 存储过程游标使用中的奇怪问题???
- 我昨天用着还是好好地,可是到了今天mysqlfront一直说连接不到本地服务器
- 两表关联问题~~请教高手。
- 问个问题想不出来,大家帮帮我
- 用java程序读一个表的数据导成sql语句,怎样解决乱码和特殊字符的处理问题,能不能像mysqldump那样的,高分相赠,不够再加,谢谢了
- sql语句问题_一列中去除空格?
- 如何实现mysql中自增长字段的功能?
- 创建函数报1125已经存在错误,但函数列表没有该函数
- 求教mysql分组排序
- mysql discontinuity
- 在建表时,有些哪些会明显影响表效率的注意地方?
然后显示的时候可以用<img src="这里存放数据库取出来的地址" /> 来显示。
这个项目中的图片是来自于前端拍照系统,不知道在设计上是否会有一些差别。是网络前端有一些采集设备,他们获取图片后上传到web server中。项目使用基于Java的技术开发的,文件上传的流程已经可以了,就是在实验的时候是将图片直接存到数据库里面的(二进制格式)。
用户使用的时候通过设置一些查询条件找到相关条目,在查看该条目的详情的时候再显示图片。
1 效率高,只需要配置一下,就可以把读取的工作交给apache什么的
2 维护方便,写个脚本进行备份什么的也方便
3 便于扩展,比如你需要对上传的图片进行修改、缩略图、水印工作,需要用到imagemagick或者其他3rd-party api,文件形式的接口更通用