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

関連する問題