posts - 31,  comments - 31,  trackbacks - 0
        到一个这东西都写到3了,针对上回说到30000条数据的批量插入工作。30000条数据的批量插入在一个事务里处理固然是快,但是这只是测试环境,30000条数据在数据库的缓存里必然对数数据库的缓存和锁数量都是一个大的挑战,固在新的程序中我们使用了分批事务提交的方式,这样为了保持数据的正确行就只能人为控制数据库中已被插入的数据是否delete掉。另外,使用Batch块提交会引发一个问题就是,如果batch块中发生了异常,我们得不到异常数据的行号即任何信息,所以只能是鱼和熊掌不可兼得(我已关注过insert方法中返回pk的方法了,但好像在batch中他反回不了出错的行号,也许是我没有找到方法,如有人有好方法请共享一下,在这里表示感谢),大家酌情考虑吧,只能到到自己需要的平衡点了。
      建议:如果对数据的准确性毋庸置疑的话就是用batch处理。如果不能确定准确性的话,如果对那条数据出错无所谓的话就也可以用batch,但是非要返回出错行号的话就不要用batch了,直接在外面套用一个事务,然后try catch一下,处理一下行号。
posted on 2007-06-28 21:32 小平 阅读(3287) 评论(4)  编辑  收藏


FeedBack:
# re: Spring+ibatis批量处理心得3[未登录]
2007-09-05 13:34 | Jeffrey
hi,你好,我最近也在做数据抽取方面的项目,也是用Spring+iBatis,想和你共同学习探讨一下心得体会,不知道你怎么联系?我的mail是:lettoo@163.com  回复  更多评论
  
# re: Spring+ibatis批量处理心得3
2007-09-23 19:19 | 小平
@Jeffrey
不好意思最近工作比较忙
一直没有时间维护blog,没有看到你的留言  回复  更多评论
  
# re: Spring+ibatis批量处理心得3
2009-12-17 21:54 | 团派家园
spring和ibaits 3.0都出来了。  回复  更多评论
  
# re: Spring+ibatis批量处理心得3
2011-12-20 17:02 | 孙继超
@小平
你好我的邮箱是 sunjichao@jiuqi.com.cn,对于这个我遇到一个问题 报错信息为: SQLCODE=-1476, SQLSTATE=40506, SQLERRMC=-911,但是具体是什么情况没法定位,请问你是否遇到过,如果方便直接回复我邮箱吧,万分感谢  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2011年12月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(2)

随笔分类

随笔档案

framework

j2me

java

linux

web

其他

友情链接

素材

最新评论

阅读排行榜

评论排行榜