为了账号安全,请及时绑定邮箱和手机立即绑定

迁移数据效率问题

迁移数据效率问题

明月笑刀无情 2019-03-20 18:15:59
问题描述如下100万数据从A机房的一个表迁移到B机房的一个表,两个表结构不一样。我的实现方法如下:查出数据来,java层面进行数据的转义,然后开了30个线程,进行分页同步数据。即每次查询500条数据,然后插入B机房的表。线程池中有30个线程。现在的问题是:迁移到效率很慢,很慢。17万数据就用了一个多小时,还没有跑完数据,请问有什么方案可以提高效率的么???
查看完整描述

3 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

有3个地方可能存在效率问题

  1. JDBC调用的时候没有采用Batch Update,导致性能低

  2. 每次查500条太少了,每次查个几千条应该没问题

  3. B机房的表有索引、约束,应该在迁移的时候把这些关掉或者drop掉,迁移完成后再打开


查看完整回答
反对 回复 2019-04-25
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

你这速度不正常,IO满了吗?还是网络有问题?我原来用kettle做迁移一小时几百万数据,因为ETL工具用惯了,所以数据迁移从来不写程序。


查看完整回答
反对 回复 2019-04-25
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

呃。。,为什么要用java呢?100万的数据很多吗,备份出来再倒入,在同一个机器做不是更快?


查看完整回答
反对 回复 2019-04-25
  • 3 回答
  • 0 关注
  • 540 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信