Mysql更新查询超过1000万条记录

时间:2012-01-13 17:31:25

标签: mysql

我必须根据电子邮件更新表格中的字段(250 000条记录),其中包含另一个表格中的字段值(10 000 000条记录)...

我试过了: UPDATE table1 t1,table2 t2 SET t1.country = t2.country 在哪里t1.email = t2.email

但我永远得到了“正在执行查询”。

我应该使用什么查询?

谢谢

2 个答案:

答案 0 :(得分:2)

这是一个使用JOIN的好机会。

UPDATE table1 as t1
JOIN table2 t2 ON t1.email = t2.email
SET t1.country = t2.country

您的查询仍需要一段时间才能处理,但它应该会大幅减少时间。

答案 1 :(得分:0)

我没有在您的查询中看到明显的错误(在这种情况下数据库会产生错误)。因此,我们正在考虑的问题是加快更新的执行速度。您的两个电子邮件字段中有一个已编入索引吗如果没有,你可以添加一个索引然后再试一次吗?例如。 ALTER TABLE table2 ADD INDEX(电子邮件)

相关问题