本文重點闡述三者之間的關係,其詳細概念請自行百度。

1.MySQL事務隔離級別

定義:在資料庫操作中,為了有效保證併發讀取資料的正確性,提供不同程度的保護,故採用事務隔離等級。

包含:未提交讀、已提交讀、可重複讀、序列化。

2.資料不一致表現

定義:是指事務併發操作時產生的副作用。

包含:丟失修改、髒讀、不可重複讀、幻讀。

3.加鎖協議

定義:事務在對資料庫物件加鎖,解鎖是必須遵守的一種規則.在運用X鎖和S鎖對資料物件加鎖時,還需要約定一些規則 ,例如何時申請X鎖或S鎖、持鎖時間、何時釋放等。稱這些規則為封鎖協議(Locking Protocol)----來自百度百科

包含:一級、二級、三級。這裡要區分兩段加鎖協議這種非常類似的概念,這裡說的加鎖協議是為了保證資料的一致性,而兩段加鎖協議則是為了保證對事務的併發排程,兩者應該可和諧共處。

4.關係

事務隔離級別 加鎖協議 解決的資料不一致問題
未提交讀 一級加鎖 丟失修改
已提交讀 二級加鎖協議 髒讀
可重複讀 三級加鎖協議 不可重複讀
序列化 強制事務排序 幻讀
事務隔離級別是為了方便我們方便進行資料庫使用才提出的,本身可以採用MYSQL操作原語來操作進行加鎖從而解決不一致問題。但是這對於非資料庫專家而言無疑是太困難的一件事。有了事務隔離級別後,我們可以根據自己的需求來進行資料庫設定。 .