目标 对两张表 600万数据 的比对,按照某种格式,比对结果进行转储
前提是 两种表的的数据是不一致的,需要通过字典对照来进行把某张表的数据进行转换
其中600万数据中有两个字段是 字符串的值,一个有逗号分隔,另一个没有逗号分隔
起初的做法,是新建了中间表,把两边的数据标准化,把串转换成列 这样 600万的数据拆掉就有可能生成3000万的数据
1、中间用的树状查询去拆分转换,字典转换完插入中间表 这样 600万数据 3000万插入 ,还有那个 树状查询的效率极低 相当耗时
2、游标循环,字典转换,串拆分使用了 substr 一列列过滤,因为每次循环都是全表扫,如果 字段越长越是 耗时
3、考虑到不用插中间表,通过 游标过滤初始数据,字典转换:把字典表的数据存到 缓存中,通过字符串的形式,字典转换通过 substr 和instr,然后直接和另张表数据比对
最后查比对结果表 ,算法比较快。 --主要减少中间表的转换