从MYSQL中的另一个表更新表

从MYSQL中的另一个表更新表,mysql,Mysql,我有一个临时表,我想用它来更新我的另一个表。下面是代码 UPDATE custompricingtest t1, custompricingtesttemp t2 SET t1.customerName = t2.customerName WHERE t1.partnumberSKU = t2.partnumberSKU 这两个表都有大约14k条记录,运行此查询大约需要10分钟。我做错什么了吗?10分钟太长了,这个怎么样 UPDATE custompricingtest SET t1.cus

我有一个临时表,我想用它来更新我的另一个表。下面是代码

UPDATE custompricingtest t1, custompricingtesttemp t2 
SET t1.customerName = t2.customerName
WHERE t1.partnumberSKU = t2.partnumberSKU

这两个表都有大约14k条记录,运行此查询大约需要10分钟。我做错什么了吗?

10分钟太长了,这个怎么样

UPDATE custompricingtest
SET t1.customerName = 
(select custompricingtesttemp.customerName
 WHERE custompricingtesttemp.partnumberSKU = custompricingtest.partnumberSKU)
您可以在两者上创建索引

  • custompricingtest.partnumberSKU
  • custompricingtesttemp.partnumberSKU

您可能需要在以下各项上创建索引:

CREATE INDEX idx_sku1 ON custompricingtest (partnumberSKU);
CREATE INDEX idx_sku2 ON custompricingtesttemp (partnumberSKU);

每个表中的
partnumberSKU
有索引吗?