背景:
有一个分区表,大概400多万数据,因为之前创建分区创建错了,导致现在所有的数据都往一个分区里面写,计划是拉出一个新表(创建好正确的方式),从旧表导入新表后就将旧表给删除了,旧表到新表同迁移数据,除了dumpling + lightning 以外,应该没有其他方式了吧,好像增量的数据 也挺难搞的 大家有什么建议或者想法吗
import into 不建议使用,因为这是物理的方式,我需要新表上的分区都对应的上,
才400万,直接insert into select * from 就行
可以测下,但是估计会比较久
如果只是想解决最大的分区,可以考虑分区重组:
REORGANIZE PARTITION
1 个赞
400w没有多少的,就算是标准部署的集群,也 很快的。
线上业务,不能丢太久的数据呢 我自己回头测下看多久
我靠 大佬 你这个重组分区 特别有用,感觉很满足我们的需求,谢谢大佬
小表(GB 级内):INSERT … SELECT
中 / 大表:BR(Backup & Restore)备份恢复
重建表create as方法呢
insert … select这种方法最简单
复杂点的,可以用CDC同步
这个是在一个集群内
1 个赞
insert select 容易导致OOM
1 个赞
先建正确分区新表,分批 insert select 迁移存量
业务低峰切读写,binlog 同步追增量数据即可
导入导出,有很多方法,适配mysql的工具基本都能使用
dump工具就行
dumpling + lightning就很好了,数据量才400万,不大
同一个集群直接通过insert into select * from 方式,数据量才400多万,应该很快