国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【全棧之路】JAVA基礎課程八_Mysql事物隔離級別(20190624v1.0)

twohappy / 2266人閱讀

摘要:注意不僅可以控制事務傳播行為等,還可以控制事務隔離級別等。事物的隔離級別隔離級別越高,并發性能越低。在的隔離級別下,會出現幻讀的問題。可串行化是最高的隔離級別。

歡迎進入JAVA基礎課程

博客地址:https://mp.csdn.net/mdeditor/...
本系列文章將主要針對JAVA一些基礎知識點進行講解,為平時歸納所總結,不管是剛接觸JAVA開發菜鳥還是業界資深人士,都希望對廣大同行帶來一些幫助。若有問題請及時留言或加QQ:243042162。

寄語:
近日,“有最美輔導員“和“最美大學生”發布儀式在央視播出,樹立起新時代輔導員和大學生的學習榜樣。當下,我們也應該爭做“最美程序員”,給世界一片美好。
概述

數據庫是可以控制事務的傳播和隔離級別的,Spring在之上又進一步進行了封裝,可以在不同的項目、不同的操作中再次對事務的傳播行為和隔離級別進行策略控制。注意:Spring不僅可以控制事務傳播行為(PROPAGATION_REQUIRED等),還可以控制事務隔離級別(ISOLATION_READ_UNCOMMITTED等)。

Spring 支持兩種類型的事務管理

編程式事務管理:這意味你通過編程的方式管理事務,給你帶來極大的靈活性,但是難維護。
聲明式事務管理:這意味著你可以將業務代碼和事務管理分離,你只需用注解和 XML 配置
來管理事務。

臟讀(Drity Read):另一個事務修改了數據,但尚未提交,而本事務中的SELECT會讀到這些未被提交的數據。

不可重復讀(Non-repeatable read): 解決了臟讀后,會遇到,同一個事務執行過程中,另外一個事務提交了新數據,因此本事務先后兩次讀到的數據結果會不一致。

幻讀(Phantom Read): 解決了不重復讀,保證了同一個事務里,查詢的結果都是事務開始時的狀態(一致性)。但是,如果另一個事務同時提交了新數據,本事務再更新時,就會“驚奇的”發現了這些新數據,貌似之前讀到的數據是“鬼影”一樣的幻覺。

事物的隔離級別

隔離級別越高,并發性能越低。MySQL 默認的級別是:Repeatable read 可重復讀。

READ UNCOMMITTED(未提交讀) 。 在RU的隔離級別下,事務A對數據做的修改,即使沒有提交,對于事務B來說也是可見的,這種問題叫臟讀。這是隔離程度較低的一種隔離級別,在實際運用中會引起很多問題,因此一般不常用。

READ COMMITTED(提交讀) 。 在RC的隔離級別下,不會出現臟讀的問題。事務A對數據做的修改,提交之后會對事務B可見,舉例,事務B開啟時讀到數據1,接下來事務A開啟,把這個數據改成2,提交,B再次讀取這個數據,會讀到最新的數據2。在RC的隔離級別下,會出現不可重復讀的問題。這個隔離級別是許多數據庫的默認隔離級別。

REPEATABLE READ(可重復讀)。 在RR的隔離級別下,不會出現不可重復讀的問題。事務A對數據做的修改,提交之后,對于先于事務A開啟的事務是不可見的。舉例,事務B開啟時讀到數據1,接下來事務A開啟,把這個數據改成2,提交,B再次讀取這個數據,仍然只能讀到1。在RR的隔離級別下,會出現幻讀的問題。幻讀的意思是,當某個事務在讀取某個范圍內的值的時候,另外一個事務在這個范圍內插入了新記錄,那么之前的事務再次讀取這個范圍的值,會讀取到新插入的數據。Mysql默認的隔離級別是RR,然而mysql的innoDB引擎間隙鎖成功解決了幻讀的問題。

SERIALIZABLE(可串行化)。 可串行化是最高的隔離級別。這種隔離級別強制要求所有事物串行執行,在這種隔離級別下,讀取的每行數據都加鎖,會導致大量的鎖征用問題,性能最差。

參考網站:
(1)https://www.cnblogs.com/maypa...
(2)https://baijiahao.baidu.com/s...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/104948.html

相關文章

  • 全棧之路JAVA基礎課程_Mysql事物隔離級別20190624v1.0

    摘要:注意不僅可以控制事務傳播行為等,還可以控制事務隔離級別等。事物的隔離級別隔離級別越高,并發性能越低。在的隔離級別下,會出現幻讀的問題。可串行化是最高的隔離級別。 歡迎進入JAVA基礎課程 博客地址:https://mp.csdn.net/mdeditor/...本系列文章將主要針對JAVA一些基礎知識點進行講解,為平時歸納所總結,不管是剛接觸JAVA開發菜鳥還是業界資深人士,都希望對...

    niuxiaowei111 評論0 收藏0
  • 全棧之路JAVA基礎課程_AJAX原理剖析(20190617v1.0

    摘要:借鑒圖片僅用于學習分享,請尊重原創作者,勿用于商用。這其中最關鍵的一步就是從服務器獲得請求數據。基本步驟創建對象也就是創建一個異步調用對象。創建一個新的請求并指定該請求的方法及驗證信息。設置響應請求狀態變化的函數。使用和實現局部刷新。 歡迎進入JAVA基礎課程 博客地址:https://blog.csdn.net/houjiyu...本系列文章將主要針對JAVA一些基礎知識點進行講解...

    biaoxiaoduan 評論0 收藏0
  • 全棧之路JAVA基礎課程_AJAX原理剖析(20190617v1.0

    摘要:借鑒圖片僅用于學習分享,請尊重原創作者,勿用于商用。這其中最關鍵的一步就是從服務器獲得請求數據。基本步驟創建對象也就是創建一個異步調用對象。創建一個新的請求并指定該請求的方法及驗證信息。設置響應請求狀態變化的函數。使用和實現局部刷新。 歡迎進入JAVA基礎課程 博客地址:https://blog.csdn.net/houjiyu...本系列文章將主要針對JAVA一些基礎知識點進行講解...

    yintaolaowanzi 評論0 收藏0
  • 全棧之路JAVA基礎課程_數據類型和垃圾回收機制(20190611v1.0

    摘要:,用于調用垃圾收集器,在調用時,垃圾收集器將運行以回收未使用的內存空間。然而調用附帶一個免責聲明,無法保證對垃圾收集器的調用。所以并不能說是完美主動進行了垃圾回收。 歡迎進入JAVA基礎課程 博客地址:https://blog.csdn.net/houjiyu...本系列文章將主要針對JAVA一些基礎知識點進行講解,為平時歸納所總結,不管是剛接觸JAVA開發菜鳥還是業界資深人士,都希...

    big_cat 評論0 收藏0

發表評論

0條評論

twohappy

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<