数据同步处理方案



近期做了数据对接的一个项目,就是从远程ftp服务器上,取csv文件,然后把csv文件里的数据录入到所做项目的数据库中,比方说我读一个csv文件,大概有近6万条数据,在录入过程中,我得查询每条记录在数据库中是否存在,如果存在并且没有什么变化,就过滤掉该条数据,如果存在,且有变化,就做更新,如果不存在,就做插入。
处理方案:计算总共有数据n条,每次处理5000条数据,然后计算出总共处理次数,再根据总处理次数,循环这5000条数据,然后连接数据库批处理这5000条数据,总共执行时间大约为10分钟左右,这种速度慢吗?有没有更好的解决方案?

java大数据处理方案:

和我所维护的系统的batch处理方式一模一样。我们系统现在是csv35万条数据,也是遇到了处理速度的瓶颈,我是ERP。上个月进行过一次简单优化。对您的问题有以下见解:①根本没必要查询数据是否存在(浪费大量时间),直接做更新,如果更新结果为0条,考虑insert,这样基本不会有什么处理时间花销。更高性能可考虑merge。②建临时表是很好的解决方案,不知你们为什么不允许,反正我们允许,效果也很好

分析:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值