刚开始直接使用union all 去合并当前表跟历史表,由于两张表都跑出当天数据后会造成有一天重复数据保留。
(有一种情况可以使用union all 不产生重复数据,就是当历史表不更新的时候,也就是每天只跑当前表)
然后采用 union 去直接合并,也不行在开发环境中表没数据,以上生产数据量一大就需要很长时间,于是也不能采用。
于是想到用unoin all + group by 的方式去去重,效率提升不少,但是代码量增多,用到的字段得一个个找出来去写一个查询语句再合并到一起比较麻烦。
于是尝试选择 over partition by这个去排序,结论也快不了多少,而且很多情况下不了解主键,总体代码量来说要少不少。最后大家如果有其他更好的方法也欢迎指点,有什么不对的地方也欢迎大家批评指正