互联网服务数据库

应对大数据量的库间数据转移,load的新思路!

很久没来了,很是惭愧!最近超忙!长话短说,在V8之后,load就执行读取游标了!具体办法就是首先,声明游标;然后load from 这个游标!之前就知道load有这个功能,但是一直没测试!这次的项目,需要在单位时间,对几个数据库的数据进行抽取,转化,入库!用之前的export出一个文件,然后load 的办法,很难满...显示全部
很久没来了,很是惭愧!
最近超忙!

长话短说,在V8之后,load就执行读取游标了!
具体办法就是
首先,声明游标;
然后load from 这个游标!

之前就知道load有这个功能,但是一直没测试!

这次的项目,需要在单位时间,对几个数据库的数据进行抽取,转化,入库!
用之前的export出一个文件,然后load 的办法,很难满足效率的需要!
于是测试了load+游标!

先把测试结果大致说一下:
50万条数据,load+游标的方式  完胜 export文件+load的方式
执行时间减少了一半!


从效率的角度上考虑,这个办法是非常不错的!

但是问题出现了:
1、如果load 的过程中断,导致表出现load pending,如果是export 文件+load的方式,可以使用load+terminate(restart)的方式解决!
但是这个游标的作用域仅限于当前环境,load如果异常中断,那么这个游标也就失效了!
所以,目前,除了drop+create表,和load+null文件,没有什么好办法!


2、在做大数据量(千万级)的测试的时候,发现load过程中会导致数据库挂掉,只有db2start之后,数据库才会正常!
简单的分析之后,应该是数据库过大,资源占用过多导致,应该针对大数据量的情况,调整数据库的参数配置!


抛个砖先,大家来讨论一下这种数据转移的解决方案!收起
参与21

查看其它 20 个回答ywzj的回答

ywzjywzj系统架构师兴业银行
good job
互联网服务 · 2009-07-17
浏览526

回答者

ywzj
系统架构师兴业银行

ywzj 最近回答过的问题

回答状态

  • 发布时间:2009-07-17
  • 关注会员:0 人
  • 回答浏览:526
  • X社区推广