2011-11-09 59 views
2

在MySQL(亞馬遜RDS),當我嘗試運行下面的SQL查詢的MySQL亞馬遜RDS:鎖定等待超時超過

UPDATE 
    table1 INNER JOIN table2 USING (CommonColumn) 
SET 
    table1.col1 = table2.x, 
    table1.col2 = table2.y 

我身邊52秒一致後,出現此錯誤:

Error Code: 1205. Lock wait timeout exceeded; try restarting transaction 

我應該如何解決這個問題?

table2有大約1700萬條記錄,而table2是table1的一個子集,有400萬條記錄。它可能是問題的表的大小,或者是我的查詢有問題嗎?

回答

-2

我重新啓動了MySQL實例並使用相同的查詢。

+1

正如我告訴過你的。有人鎖定了其中一些資源。因此,重新啓動關閉所有連接和資源已發佈:P – jorgeu

+0

,如果問題仍然存在? – Robson

+0

如果問題仍然存在,請使用innotop查看阻塞鎖的內容。然後你可以關閉與阻塞鎖相關的連接(殺死有問題的進程會導致mysqld在5.5版本中出現混亂和崩潰) – ives

0

在AWS RDS上,我填充了一個數據庫實例,導致客戶端出現此錯誤。