2015-05-25 91 views
1

我具有形式故障排除慢UPDATE查詢

UPDATE table SET ... WHERE id = ? 

其中id是主鍵的UPDATE查詢。另外,該表以InnoDB作爲引擎。我希望這個查詢和寫入的磁盤一樣慢。有時候,它需要更多的時間,長達幾秒鐘。

至少在很大程度上得出結論,是否應該有另一個查詢,同樣緩慢,鎖定整個table或要更新的行是否正確?如果我錯了,還有其他可能的原因,以及如何正確調查問題?

回答

2

INNODB鎖定索引區域,有時INSERT和UPDATE查詢爭用相同的索引區域。這可能是發生了什麼事情。您可以閱讀有關解決INNODB鎖定問題here的更多信息。

+0

+1,但你認爲這是由於僵局呢? SHOW ENGINE INNODB STATUS沒有顯示最近的死鎖,所以我認爲實際上沒有。我錯了嗎? – idrarig

+0

如果這是一個真正的死鎖,則該查詢(或另一個)將被中止並返回「ROLLedBACK」。尋找其他競爭性查詢。 –