1. 程式人生 > >MySQL系列-innoDB行鎖詳解

MySQL系列-innoDB行鎖詳解

一直都很想討論一下innoDB的行鎖,但是看到了何登成大神的部落格之後發現他的研究更深入說的更好,是一篇非常優秀的部落格,但是需要對索引有比較深入的瞭解,因此看他的部落格之前可以先看看我的一篇關於索引的文章MySQL系列-B+Tree索引詳解

同時也深感資料庫易學難精,一條SQL下去可能發生了很多你不知道的細節,要想學的很透徹靠部落格和書籍是不夠的,還是得直接閱讀原始碼,這是一個非常漫長的路。

下面我補充一點MySQL/innoDB對死鎖的處理,參考高效能MySQL

發生死鎖後innoDB一都能自動檢測,並使一個事務釋放鎖並回退,另一個事務獲得鎖繼續完成事務。對於不能檢測到的情況也可以設定超時等待引數innodb_lock_wait_timeout來解決。通常來說死鎖是應用設計問題,通過調整業務流程、資料庫物件設計、事務大小、以及SQL語句,絕大部分死鎖都可以避免。