您好,登錄后才能下訂單哦!
這篇文章主要講解了“mysql中的4種隔離級別分別是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“mysql中的4種隔離級別分別是什么”吧!
1、讀未提交,即所有事務都能看到其他未提交事務的執行結果。未提交閱讀是安全性最低的隔離級別,事務并發問題是臟閱讀。如果事務A讀取了事務B未提交的更新數據,此時事務B回滾,那么A讀取的數據就是臟數據,這個過程就是臟讀。
2、讀取已提交,讀取已提交的內容,符合隔離的簡單定義:一個事務只能看到已提交事務所做出的改變,所以讀取提交后不會出現臟讀(寫數據加行級排他鎖(其他事務不能讀寫),所以寫過程的結果不能讀取,直到事務處理完畢才會釋放排他鎖,讀取的數據加行級共享鎖(只能讀,不能寫),所以讀的時候寫不出來。而且讀取提交的并發問題是不能重復讀取,比如事務A多次讀取同一數據,事務B在事務A多次讀取的過程中,對數據進行了更新和提交,導致事務A多次讀取同一數據時,結果不一致。
3、可重復讀是MySQL的默認事務隔離級別,它保證同一事務的多個實例在并發讀取數據時能看到相同的數據行。可重復閱讀避免了不可重復閱讀(給寫的數據加行級排他鎖(其他事務不能讀寫),事務結束后釋放,給讀的數據加行級共享鎖(其他事務只能讀不能寫),事務結束后釋放),而可重復閱讀的并發事務問題是幻讀。幻讀是指當用戶讀取某一范圍的數據行時,另一項事務將新行插入該范圍。當用戶再次讀取該范圍的數據行時,會發現新的幻影行。
4、串行化是最高的隔離級別。它通過在每個讀取的數據線上添加共享鎖。如果其他事務想改寫添加共享鎖的表格,將被掛起,直到數據線釋放鎖(可能導致大量加班和鎖競爭),強制事務串行執行。串行解決了并發事務中的幻讀問題。
感謝各位的閱讀,以上就是“mysql中的4種隔離級別分別是什么”的內容了,經過本文的學習后,相信大家對mysql中的4種隔離級別分別是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。