MySQL大插入更新查询

时间:2019-05-09 14:44:13

标签: mysql

我有一个要插入/更新到的MySQL 8 RDS(innodb)实例。

目标表包含约120m行,我正尝试从csv向表中插入2.5m。源表中的某些数据可能已经存在于目标表中,并且受到主键的约束,在这种情况下将进行更新。

进行了一些研究,我发现最快的方法似乎是从源表到临时表,然后是

insert into target_table 
select col1, col2 from source table a
on duplicate key update col1 = a.col1, col2 = a.col2

但是这似乎要花费几个小时。

是否有最佳实践来优化此类插入物?

将插入片段分离为单独的插入更新会更快吗?我可以禁用目标表中的索引吗(我知道这对于myisam是可行的)?

谢谢

0 个答案:

没有答案