我们系统有个后台跑批,所谓跑批就是通过程序逻辑加工处理一些数据。首先我们从源头库把需要的表接进来,然后按照需要的逻辑加工处理。这个后台跑批任务是每天都需要进行的,比如我们需要接入交易,每天都会有新增的交易,客户,账户。
有个跑批任务已经跑了几年了没有问题,语句没有变,结果某一天突然跑不过去了,一直卡住,报错资源忙。
表的关联关系如下:
表 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关联,结果很快可以执行通过。
至于为什么一直每天跑的语句会在某一天有问题,现在还不知道,不过也给自己提了个醒不要陷入惯性思维,以前没有问题不代表以后没有问题,事物都是时刻在变化的,只不过很多变化我自己没有察觉原因,只知道了结果,如果我一直陷入语句不应该有问题,为什么一样的语句以前没有问题,今天就有问题了呢?这样的死循环可能会真的无解。我总是会希望不要有什么变化,特别对自己有利的,比如工作稳定,系统稳定,但其实这都是我的一厢情愿,调整自己的心态,不要太过于惯性思维,拥抱变化!让自己不断的学习强大,才会更加的有安全感。面对风险的能力也会有所提高。
跑批优化
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1.A simple master-to-slave replication is currently being...
- 先创建服务端的APP 1.官网下载Winrun4j。http://winrun4j.sourceforge.net...