2011-08-04 61 views
0

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

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

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

+0

你有索引吗?每个表中都有'partnumberSKU'? –

回答

0

10分钟需要很长时间,这个怎么样?

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

,你可以同时在

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

您可能希望创建的每个索引:

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

我已经有每个索引.... – Nitesh