日期:2014-05-17  浏览次数:21269 次

4000W大数据量的读取与写入的应用
问题是这样的,现在要做一个接口,从 SQLSERVER 读取数据,再写入到ORACLE,总共有4000W条数据,写到ORACLE只是第一步,我写了一个小程序,每次从SQLSERVER读取20W条数据,用时间排序的,每次读取要用120秒左右,再写入到ORACLE,为了防止出错回滚,我设置了写入100条数据就提交一次。
  再次读取数据的时候,就拿ORACLE最后写入的时间,作为SQLSERVER的查找条件,查找前20W条数据,再写入ORACLE,每条记录写入之前,都要判断一下存不存在,如果存在就更新,不存在就插入。刚开始的时候,20W条数据插入到ORACLE要600秒左右,我看到后面就会越来越慢的了。
  4000W条数据度过来ORACLE只是第一步,以后这个表还会经常进行读写的,而且速度要很快。请问这该怎么做。请不要回答得太笼统,说表分区什么的了,表已经分区,我想要具体的解决建议,小弟在这里虚心求教了,谢谢哈!

------解决方案--------------------
直接异构连接,通过ORACLE直接访问SQL SERVER数据库不是更省事么
------解决方案--------------------
4000W 数据量不算小。
而且判断存在与否,效率不会太高