需求描述
MSSQL已有多个表,每个表的数据基本是上千万,其中有个字段包含xml二进制数据,二进制数据为包含多个字段类似(sex,age),转到oracle后需要将sex、age 数据扩充到普通的column里面,即在原有的表字段中加上sex、age列。
思路
- 用最简单的jdbc查询语句将表的内容一次性查出来放在List集合里面(避免排序或者处理源数据)
- 将集合分成4份(视情况而定),装在4个队列里面
- 创建4个线程,分别读4个队列然后往oracle写
- 批量提交oracle
注意
- 数据量很大,需要将java 虚拟机调整到系统可以提供的最大内存
- 优化一切可以优化的写法,减少不必要的cpu计算节省时间,例如:list.size() 、if 等,这些往往都会成为性能瓶颈
后面再补实现代码