问题描述
所以一个有 2.5 TB 容量的表,这仅仅是因为一段时间内积累了一些蹩脚的未使用数据,我想清理这些数据,因为我们计划迁移主机,不想接受这个新主机的负担,需要注意的是,使用与其他表的关联来识别数据是否有用,如下所示:
select id from lame_table l join user u on u.id = l.user_id where l.is_active=false and u.company='xyz';
其中 lame_table 是包含此冗余数据的表。即使我们在一个巨大的实例上,上面的查询也是永远执行的,除非伴随着限制。
delete from lame_table where id in (select l.id from lame_table l join user u on u.id = l.user_id where l.is_active=false and u.company='xyz' limit 100000);
不幸的是,这是一个非常慢的查询,特别是如果我们查看价值 2.4 TB 的数据,其中接近 90% 的数据是蹩脚的,是否有任何其他建议或开箱即用的解决方案来解决此类问题。
-Vaibhav
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)