找ruby 数据重构最优方法

本文探讨了一种从Oracle数据库同步特定记录至MySQL数据库的方法。具体而言,需要将Oracle表中的记录,排除那些在MySQL目标表中已存在的组合,并将剩余记录插入到另一个MySQL表中。讨论了使用数组进行数据比对的初步方案,并寻求更高效的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人现在要用ruby 从oracle 里一个表 oracle_a,假如有三个字段int id,varchar a ,varchar b
表里现有记录 a,b 的所有不重复组合为:select a ,b from oracle_a group by a,b

还有一个mysql 数据库里的一个表 mysql_b ,假好也有三个字段,int id ,varchar a,varchar b
表里现有记录 a,b 的所有不重复组合为:select a ,b from mysql_b group by a,b

oracle_a 与mysql_b 数据记录不一样(都有5W条以上的记录),

oracle_a (a,b)的所有组合,如果在mysql_b (a,b)组合出现就棑除,

剩下的oracle_a (a,b)组合,再插入到mysql_c(a,b) 表中,

现在我想到的一个方法是用数组;即ora[a] =['oracle_a(a)+oracle_a(b)','oracle_a(a1)+oracle_a(b1)',。。。。oracle_a(an)+oracle_a(bn)] ,
类似,mysql[b]也一样,再用ora[a].include(mysql[b])去循环判断,
把不匹配记录,抓下来为mysql[c],再去重解析数组mysql[c],构造插入数据的sql
插入mysql_c表中,

总觉得这样很麻烦的,不是最优的解决方法。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值