大数据转移
现在我需要把一个表从Sybase转移到Oracle,数据量级别在亿,现在是用springBatch的JdbcCursorItemReader和JdbcBatchItemWriter来读写。我看了JdbcBatchItemWriter的源码,底层还是调用java.sql.PreparedStatement.executeBatch(),然后executeBatch每次插入的上限在65535,所以需要插入很多次。
所以我想问问大神们,我是起多个线程同步去executeBatch,还是单线程去executeBatch呢?
另外,我们原来先导出一个文件,再执行到Oracle,这个要1个多小时。所以想试试JDBC会不会快一些。
求大神们指导
?
------解决方案--------------------如果只有一个硬盘的话,多线程不会提高效率,因为硬盘io是同步的,会有io冲突。