前言
很抱歉现在才把这篇文章发出来,这几天事情比较多,周四把任务完成才得空写一写,闲话不多说请看下↓↓↓
详细需求
需求:
系统中有一个专门存车流量的库(没有主键),其中一个历史表数据量太大,表空间占据太大,每天有500w的数据写入,然后老大给我安排了个任务,让我写个按天分表的定时任务,每次把一天的数据转移到按天生成的表中,并删除原表中的数据,主要目的是不想再增长表空间了,保持一个平衡,因为每天删500w也会加500w
表空间和数据量:
实现思路
我本人实现的做法流程,如图
实现伪代码(删减了部分代码):
/**
* 转移数据 每天凌晨3点 每次只能转移一天的数据
*/
@Scheduled(cron = "0 0 3 * * ?")
public void dataTransfer()throws Exception{
System.out.println("定时器开始运行------------------------------------------");
String tabaleName = "XXX";
String isTable = getTableName(tabaleName);
// 当返回为空时,代表该表不存在,则创建
if(ObjectUtils.isNull(isTable)