1.任务列表迁移数据的背景:
随着爬取数据量的上涨,任务列表的存储量达到几百MB,导致增删改查数据库都很慢。
2.任务列表迁移数据的目的:
始终要保证【t_auto_extract_fail】这个表里面存储7天之内的数据。
3.主要业务逻辑设计如下:
⑴ 判断是否为周一, 是的话则删除【t_auto_extract_fail_split】表中全部数据。
DELETE FROM t_auto_extract_fail_split WHERE DATE_FORMAT(CURDATE(),'%w') = 1;
⑵ 判断入表时间与当前时间相差7天则往t_auto_extract_fail_split中导入符合条件的数据。
INSERT INTO t_auto_extract_fail_split SELECT *FROM t_auto_extract_fail WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) = DATE(create_time);
⑶ 判断入表时间与当前时间相差7天则删除t_auto_extract_fail中符合条件的数据。
DELETE FROM t_auto_extract_fail WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) = DATE(create_time);
⑷ 服务上线前,手动删除任务列表中7天前的数据。
4.主要业务逻辑实现如下:
- 20220309 (周三)【t_auto_extract_fail_split】保留20220302的数据,【t_auto_extract_fail】中保留20220303-20220309的数据;
- 20220310 (周四)【t_auto_extract_fail_split】保留20220302-20220303的数据,【t_auto_extract_fail】中保留20220304-20220310的数据;
- 20220311 (周五)【t_auto_extract_fail_split】保留20220302-20220304的数据,【t_auto_extract_fail】中保留20220305-20220311的数据;
- 20220312 (周六)【t_auto_extract_fail_split】保留20220302-20220305的数据,【t_auto_extract_fail】中保留20220306-20220312的数据;
- 20220313 (周日)【t_auto_extract_fail_split】保留20220302-20220306的数据,【t_auto_extract_fail】中保留20220307-20220313的数据;
- 20220314 (周一)【t_auto_extract_fail_split】保留20220307的数据,【t_auto_extract_fail】中保留20220308-20220314的数据;
- 20220315 (周二)【t_auto_extract_fail_split】保留20220307-20220308的数据,【t_auto_extract_fail】中保留20220309-20220315的数据;
- 20220316 (周三)【t_auto_extract_fail_split】保留20220307-20220309的数据,【t_auto_extract_fail】中保留20220310-20220316的数据;
- 20220317 (周四)【t_auto_extract_fail_split】保留20220307-20220310的数据,【t_auto_extract_fail】中保留20220311-20220317的数据;
- 20220318 (周五)【t_auto_extract_fail_split】保留20220307-20220311的数据,【t_auto_extract_fail】中保留20220312-20220318的数据;
- 20220319 (周六)【t_auto_extract_fail_split】保留20220307-20220312的数据,【t_auto_extract_fail】中保留20220313-20220319的数据;
- 20220320 (周日)【t_auto_extract_fail_split】保留20220307-20220313的数据,【t_auto_extract_fail】中保留20220314-20220320的数据;
- 20220321 (周一)【t_auto_extract_fail_split】保留20220314的数据,【t_auto_extract_fail】中保留20220315-20220321的数据;
- 20220322 (周二)【t_auto_extract_fail_split】保留20220314-20220315的数据,【t_auto_extract_fail】中保留20220316-20220322的数据;
- 20220323 (周三)【t_auto_extract_fail_split】保留20220314-20220316的数据,【t_auto_extract_fail】中保留20220317-20220323的数据;
- 20220324 (周四)【t_auto_extract_fail_split】保留20220314-20220317的数据,【t_auto_extract_fail】中保留0220318-20220324的数据;
- 20220325 (周五)【t_auto_extract_fail_split】保留20220314-20220318的数据,【t_auto_extract_fail】中保留20220319-20220325的数据;
- 20220326 (周六)【t_auto_extract_fail_split】保留20220314-20220319的数据,【t_auto_extract_fail】中保留20220320-20220326的数据;
- 20220327 (周日)【t_auto_extract_fail_split】保留20220314-20220320的数据,【t_auto_extract_fail】中保留20220321-20220327的数据;
- 20220328 (周一)【t_auto_extract_fail_split】保留20220321的数据,【t_auto_extract_fail】中保留20220322-20220328的数据。