使用联接更新查询 (MYSQL) 需要数小时


Update Query with Join (MYSQL) taking hours

我正在尝试运行查询(在本地和我的服务器上尝试过)该查询是一个更新查询,它从一个表中获取值并将值放在第二个表中,其中 ISBN 字段相同,所以我拥有的是

update valorebest2 
join buylist on valorebest2.isbn= buylist.isbn
set valorebest2.binding = buylist.binding, valorebest2.buy = buylist.buy

valorebest2有 400,000 条记录,buylist有大约 300,000 条记录(完成后将有大约 1,000,000 条记录)。运行此更新需要 6-8 小时。

有没有其他方法可以更快地做到这一点?如果需要,我可以使用PHP或Ajax。

在阅读了每个人的建议后,我更改了表格,以便它将 isbn 列转换为双精度而不是 varchar,并且我在两个表中都索引了 isbn 字段。 它将时间减少到 37 秒。