dumpling + lightning 吧
dumpling + lightning , 后面会简化为 sql import
数据量不大用INSERT INTO ... SELECT
,数据量大那就要用dumpling导出,lightning导入
你看看 dumpling 导数的时候执行的是什么查询,然后你在把前面换成 insert into + dumpling 类似的sql就行了。简单而言就是先用_tidb_rowid 做个分片。然后开多个并发操作小事务。
backup oldtable to s3;
restore newtable from s3;
最快 物理文件复制
物理导入最快吧
都不是物理导入 是sst文件复制了一份 最快
感觉还是导出导入最快,当然我选择用工具传输
基于主键可以 并发导入
dumpling + lightning
看你的 tidb 版本,不同版本处理方式不同,低版本最好的方式就是 dumpling + Lightning,高版本有 batch insert、import into select等
insert select 也可以,select 先查下_tidb_row_id,然后根据rowid分批提交。速度也还可以,比较省事。不能一次太大量,会很慢。batch可以省事些。看追求速度不,很多方式。大表肯定是导入再物理导入最快的。
lightning 导入的时候,怎么指定导入哪个库的哪张表,导出的时候,没有指定导出表结构,库里已经有表结构了
是改导出的文件名和文件内容?,不能在lightning里面指定吗
改名是最方便的,导出的是csv文件 改文件名就行,按照文件名匹配的
lightning导入会增加磁盘io压力,达到100%,线上还是选择insert…select会好点
insert。。select
oacle的最佳实践应该是通过data pump来导出导入。insert into为什么不是最快的呢?因为对于大表会产生很大的undo,因此生产一般不用。
对应的tidb,应该是用import into的方式比较安稳。
为什么要做分区呐?有什么明显的优势嘛