oracle bfile blob

3 篇文章 0 订阅
1 篇文章 0 订阅
首先,图片是binary格式,另外比较大。所以目前有2种方法:

1. 图片放入DB中。
这种方法需要设置blob字段来存放图片。数据量大的时候造成表很大。

优点:将整个图片库全部放到一张表中,方便管理,成为一个整体。

缺点:表很大后所有数据库操作都很慢

解决:因为图片查询都是查询图片的相关文字信息,所以如果在文字信息
      上合理的建立索引,那么将会极大的提高检索的速度。

2. 图片存放为文件
这种方法只是将图片文件放到系统的一个文件中,在表中存文件路径。

优点:大大的缩小了表的大小,提高了所有相关数据库操作的速度。

缺点:造成了图像和其描述信息的分离,成为分离的两个部分,不便管理。

解决:建立严格的同步管理机制,使得备份等等各种操作都同步进行。

=================================
对于以上2中常见方法,我比较倾向第一种,只要合理的建立索引机制,因该
第一种更方便,或者说更象一个“图片库”。而有时由于某些原因,可能在第一
种的图片描述信息上无法建立合理的索引(例如MySQL目前对中文FullText索引的
支持就不好),此时可以提出另外一种解决方案。(这种方案是我自己某图片库项目
所使用的方法)

3. 图片信息、描述信息各一张表
图片信息放在一张表中,对于的描述信息放在另外一张表中,之间通过某个主键
或者外键的方法进行一一对于。
优点:使得检索信息的表很小,同时也让所有的相关信息都放入到了数据库中。

缺点:需要通过某种机制(主键对应或者外键)的办法来确保记录的一一对应,还
      需要让所有的修改、删除、添加操作都同时对2表成功进行。

解决:通过合理的同步机制,例如事务等,使得记录对应关系保持良好。


第三种方法我做的库,目前共10815张图片,占用磁盘空间1.63G,对4个关键字做
like '%xxx%'方式的检索,所有检索时间在1秒内完成……而且没有使用全文索引……
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值