数据归档
需求
工厂号 | 工厂名 | 月结结束时间 | 数据库地址 | 端口 |
---|---|---|---|---|
1026 | 合肥波轮 | 2019/10/31 11:00 | 192.168.175.11 | 3306 |
1022 | 合肥空调 | 2019/10/31 12:00 | 10.142.201.254 | 3306 |
策略
订单日期是 3 个月以前,且订单状态是已完成
表 | 说明 | 关联字段 | 总数据量 | 归档数据量 |
---|---|---|---|---|
base_production_order_t | 订单表 | Code | 17627 | 5174 |
bns_pm_operation | 条码表 | WorkUser_MOrderCode | 2656496 | 1530802 |
bns_pm_scanhistory_month | 扫描记录表 | Code | 7392827 | 4370623 |
bns_qm_processtest | 过程检验表 | Code | 7562577 | 4508488 |
bns_pm_prodprocess | 工位过站记录表 | Order_Code | …. | …. |
bns_pm_barcodecode | 物料绑定表 | …. | 6614117 | 3967682 |
1 | select count(*) from base_production_order_t where EST < now()-interval 3 month and OrderStatus = '2'; |
实践
准备
- 安装 Percona Toolkit
- 创建归档表
1 | # 归档表的表结构与原表一致,命名统一采用原表名_archive的格式 |
- 开始归档
1 | # 归档命令 |
- 实时查看进度
1 | use information_schema; |
bns_pm_barcodecode
1 | # 开始归档 |
bns_pm_operation
1 | # 开始归档 |
bns_pm_scanhistory_month
1 | # 开始归档 |
bns_qm_processtest
1 | # 开始归档 |
bns_pm_prodprocess
1 | # 开始归档 |
设置自动归档
1 | # 存储过程 |
慢 SQL 优化
工厂:黄岛滚筒
数据库:10.180.129.24:3306
1 | # 慢SQL1 |