有一个正在线上使用的、亿级别数据量的mysql数据表,现在发现有90%的数据是无效的。现在想删除这部分数据,以节省磁盘空间。有什么比较好的方案?
1.取到无效数据的索引,分别放到N个数组中,定期分批清理,完成后优化下该表。2.取到有效数据的索引,将有效数据copy到新的表中,copy完成后,将旧表删除,新表更名。
1.确定无效数据的判断条件;2.取得所有表名;3.循环删除无效信息;
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
1 回答4.8k 阅读✓ 已解决
5 回答2.5k 阅读
1.1k 阅读
1 回答1.6k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
1.取到无效数据的索引,分别放到N个数组中,定期分批清理,完成后优化下该表。
2.取到有效数据的索引,将有效数据copy到新的表中,copy完成后,将旧表删除,新表更名。