跑批优化

2020-03-05  本文已影响0人  奶茶007

我们系统有个后台跑批,所谓跑批就是通过程序逻辑加工处理一些数据。首先我们从源头库把需要的表接进来,然后按照需要的逻辑加工处理。这个后台跑批任务是每天都需要进行的,比如我们需要接入交易,每天都会有新增的交易,客户,账户。
有个跑批任务已经跑了几年了没有问题,语句没有变,结果某一天突然跑不过去了,一直卡住,报错资源忙。
表的关联关系如下:
表 A,表 B where A.col1 = B.col1 and a.row_date=date'2020-03-05'
and b.row_date=date'2020-03-05' and b.trans_date=date'2020-03-05'
分析问题,单独查询统计表A的row_date=date'2020-03-05'的数据量大概400多万,
单独统计表B的row_date=date'2020-03-05'的数据量大概300多万,再统计表B的row_date=date'2020-03-05' and b.trans_date=date'2020-03-05' 的数据量大概几百条,所以需要用中间表过渡,先把表B的row_date=date'2020-03-05' and b.trans_date=date'2020-03-05' 的数据放到一张中间表C,然后让表A和表C关联,结果很快可以执行通过。
至于为什么一直每天跑的语句会在某一天有问题,现在还不知道,不过也给自己提了个醒不要陷入惯性思维,以前没有问题不代表以后没有问题,事物都是时刻在变化的,只不过很多变化我自己没有察觉原因,只知道了结果,如果我一直陷入语句不应该有问题,为什么一样的语句以前没有问题,今天就有问题了呢?这样的死循环可能会真的无解。我总是会希望不要有什么变化,特别对自己有利的,比如工作稳定,系统稳定,但其实这都是我的一厢情愿,调整自己的心态,不要太过于惯性思维,拥抱变化!让自己不断的学习强大,才会更加的有安全感。面对风险的能力也会有所提高。

上一篇 下一篇

猜你喜欢

热点阅读