2011-08-04 143 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