暂无图片
MySQL 线上联机表数据量过大(超500W),想只保留该表10天左右热数据,其他数据定期迁移至一张his新表(做历史查询使用),不想影响主库性能,有推荐的方案吗?
我来答
分享
暂无图片 匿名用户
MySQL 线上联机表数据量过大(超500W),想只保留该表10天左右热数据,其他数据定期迁移至一张his新表(做历史查询使用),不想影响主库性能,有推荐的方案吗?
暂无图片 10M

MySQL 线上联机表数据量过大(超500W),想只保留该表10天左右热数据,其他数据定期迁移至一张his新表(做历史查询使用),不想影响主库性能,有推荐的方案吗?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
张sir

我能想到的解决方案:

A、存量数据迁移,

1、可以利用mysqldump把大表dump出来,利用where条件筛选出10天前的数据。

2、导入数据库,导入前把dump出的文件的表明更换一下。

3、清理联机表上的数据,利用脚本少量多次提交清理。直到清理到只剩10天的数据。

B、增量数据

1、利用脚本,每日将新增数据insert into B select * from A where date>10;

2、利用脚本清理10天前的数据,依然是少量多次提交。

暂无图片 评论
暂无图片 有用 0
暂无图片
李宏达
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏