在MYSQL中从另一个表更新表

时间:2011-08-04 18:54:38

标签: mysql

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

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

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

2 个答案:

答案 0 :(得分:1)

您可能想要在每个上创建一个索引:

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

答案 1 :(得分:0)

10分钟花了太长时间,这个怎么样?

UPDATE custompricingtest
SET t1.customerName = 
(select custompricingtesttemp.customerName
 WHERE custompricingtesttemp.partnumberSKU = custompricingtest.partnumberSKU)

你可以在两个

上创建索引
  • custompricingtest.partnumberSKU
  • custompricingtesttemp.partnumberSKU