高手请进,分不够可以再加!从数据库快速读取二进制图片的问题!

mysohu 2006-01-16 10:21:40
我现在想把存在oracle中的图片,从中导出,由于数量比较大,导出的速度很慢,我把图片一个个取出来,然后在写入到本地的硬盘,代码如下:

BufferedOutputStream out = new BufferedOutputStream(new
FileOutputStream("文件名"));
BufferedInputStream in = new BufferedInputStream(rs.getBinaryStream("Blob类型字段"));
int c;
while ( (c = in.read()) != -1) {
out.write(c);
}
in.close();
out.close();
out=null;
in=null;

有没有高手做过呀!在线等~~~~~~~~~~~~~~~
...全文
252 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mysohu 2006-01-20
  • 打赏
  • 举报
回复
是呀,没办法,领导分配的任务呀!
yuzl32 2006-01-19
  • 打赏
  • 举报
回复
按一个图片10K来算,
1W的图片 = 10K * 10000 = 100 000 = 100 M;
200W图片 = 1W * 200 = 100M * 200 = 20 000 M = 20 G.

天啊,多大的数据啊..
yuzl32 2006-01-19
  • 打赏
  • 举报
回复
200W啊,太大了吧,你怎么弄都是慢的.即使单独拷贝硬盘在时间上也是够呛的.

mysohu 2006-01-17
  • 打赏
  • 举报
回复
有没有使用过第三方的程序,能大大提高导出速度的呢?
find_work 2006-01-17
  • 打赏
  • 举报
回复
我个人也觉得要把算法优化,不然数量太大,不可能很快的导出来的
whycloud 2006-01-17
  • 打赏
  • 举报
回复
这个……200W条,好像用什么也快不了吧,就是单纯写到硬盘上也需要时间啊。
mysohu 2006-01-16
  • 打赏
  • 举报
回复
有没有第三方的呢?
blddp 2006-01-16
  • 打赏
  • 举报
回复
楼上的什么逻辑,算法不优化用什么都没用,我认为楼主应该试一下nio
universe01 2006-01-16
  • 打赏
  • 举报
回复
数量可不小啊!
用C++试下吧!
mysohu 2006-01-16
  • 打赏
  • 举报
回复
保存的是二进制,存进去的也是.tif图片,读出来也是.tif图片
现在要把这些存在数据库中的图片,导出来保存到本地.


读是不慢的,批量读的时候慢,有200多万条,把这些图片一起导出.耗时很长,用我的代码.
whycloud 2006-01-16
  • 打赏
  • 举报
回复
有几点不明白的
1。从数据库中出来保存成什么文件?
如果你要保存图片文件,那么你需要对image对象编码才可以保存
2。可以告诉如果是Ora服务器绝对不会慢,我做过的一个WEB3D项目,1M的数据都不慢。
也许你代码的问题。
另外我尝试在一个网页中有将近60张的图片是从Ora中读出来的,不慢啊
treeroot 2006-01-16
  • 打赏
  • 举报
回复
数量有多大?

62,626

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧