关于大批量数据转储,其中涉及到对数据进行转储

目标 对两张表 600万数据 的比对,按照某种格式,比对结果进行转储

 

前提是 两种表的的数据是不一致的,需要通过字典对照来进行把某张表的数据进行转换

其中600万数据中有两个字段是 字符串的值,一个有逗号分隔,另一个没有逗号分隔

 

起初的做法,是新建了中间表,把两边的数据标准化,把串转换成列 这样 600万的数据拆掉就有可能生成3000万的数据

 

1、中间用的树状查询去拆分转换,字典转换完插入中间表 这样 600万数据 3000万插入 ,还有那个 树状查询的效率极低 相当耗时

2、游标循环,字典转换,串拆分使用了 substr 一列列过滤,因为每次循环都是全表扫,如果 字段越长越是 耗时

3、考虑到不用插中间表,通过 游标过滤初始数据,字典转换:把字典表的数据存到 缓存中,通过字符串的形式,字典转换通过 substr 和instr,然后直接和另张表数据比对

最后查比对结果表 ,算法比较快。 --主要减少中间表的转换

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值