使用Java将1000万条记录从一个数据库迁移到另一个数据库(在不同服务器上)的最佳策略是什么

时间:2018-11-02 19:02:05

标签: java database jdbc

我正在使用普通的JDBC(因为JPA对我来说太慢了)来实现每天运行的工作:

  1. 设置为“自动提交错误”
  2. 截断目标TBL(要删除前一天的数据,这是必需的)
  3. LOOP-从Servr1.DB.SRC中选择5000个批次
  4. 将5,000个批次插入Servr2.DB.SRCTarget
  5. 继续循环或转到#6
  6. Connection.commit

这对我有用,但是有几个问题-

a。加载仍然很慢,因为要花费一分钟才能加载一百万。对于10M,我估计它将持续3个小时。可以减少吗?

b。当作业运行时执行SELECT COUNT(来自SQL客户端)时,SELECT和INSERT(作业中)都会被阻止,并且我必须重新引导部署Java代码的服务器以释放锁。可以预防吗?

注意:在目标数据库上设置的隔离级别是-已提交读

0 个答案:

没有答案