我有两张桌子。第一个名为“权重”,包含大约250,000行:
mid / weight
1/3
2/12
3/7
第二个被称为“收件人”,大约有200万行,就是这样:
mid / weight
1 / -
1 / -
1 / -
2 / -
我正在尝试使用表格“权重”中的“权重”信息填充它,我正在使用此查询:
UPDATE recipient A
SET weight =
(SELECT weight
FROM recipient B
WHERE B.mid = A.mid)
查询似乎适用于前几行,但似乎200万太多了。我在我的Mac上运行MAMP。你会怎么建议我做的?
答案 0 :(得分:2)
我怀疑你的桌子上没有定义索引。
UPDATE recipient A
INNER JOIN weight B
ON B.mid = A.mid
SET a.weight = b.weight
要获得更快的效果,请在其上设置weight.mid
主键和参考recipient.mid
。