我有以下表格:
t1, 418932 rows
t2, 461904 rows
这些列:
t1 columns: ID NUMBER TITLE
t2 columns: ID NUMBER NAME
t1示例
1 123 The Iliad
2 124 The Inferno
3 125 Freakonomics
t2示例
1 123 Homer
2 124 Dante
3 125 Levitt
3 125 Dubner
如此处所示,t2可以为t1中的NUMBER提供多个不同的NAME条目。我想将t1.ID复制到t2.ID,由NUMBER加入。我尝试了几种不同的变体,包括:
UPDATE t2
LEFT JOIN t1 ON t2.NUMBER = t1.NUMBER
SET t2.ID = t1.ID
和
UPDATE t1, t2
SET t2.ID = t1.ID
WHERE t2.NUMBER = t1.NUMBER
但两者都很慢,例如,一小时后,只复制了约800行。我的服务器有32GB内存,所以内存不是问题。
任何人都可以建议更好,更快或更有效的方式来编写此查询吗?或者这种速度是否正常?
提前致谢。
修改
解决。正如Zafar的评论所暗示的那样,我忘了在两个表格中添加一个索引。