大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Spring事務隔離級別詳解

Spring事務隔離級別詳解

更新時間:2021-09-10 10:28:48 來源:動力節點 瀏覽1597次

當兩個事務對同一個數據庫的記錄進行操作時,那么,他們之間的影響是怎么樣的呢?這就出現了事務隔離級別的概念。數據庫的隔離性與并發控制有很大關系。數據庫的隔離級別是數據庫的事務特性ACID的一部分,ACID,即原子性(atomicity)、一致性(consistency)、隔離性(isolation)和持久性(durability)。

Spring的事務隔離級別有四個:READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ和SERIALIZABLE,還有一個,是數據庫默認的隔離級別DEFAULT,MySQL默認是REPEATABLE_READ。

1.READ_UNCOMMITTED

READ_UNCOMMITTED:一個事務可以讀取到另一個事務未提交的事務記錄。

換句話說,a transaction can read the data that is still uncommitted by other transactions。這是Spring事務最弱的隔離級別。見下面的圖,事務A開啟,寫入一條記錄,這時候,事務B讀入數據,讀到了這條記錄,但是,之后事務A回滾。因此,事務B讀到的數據不是有效的(the database is in an invalid state)。這種情況稱為臟讀(dirty read)。除了臟讀的問題,READ_UNCOMMITTED還可能出現non-repeatable read(不可重復讀)和phantom read(幻讀)的問題。

2.READ_COMMITTED

READ_COMMITTED:一個事務只能讀取到已經提交的記錄,不能讀取到未提交的記錄。

換句話說,a transaction can only read the committed data, and it can’t read the uncommitted data.因此,dirty read的情況不再發生,但可能會出現其他問題。見下圖。

在事務A兩次讀取的過程之間,事務B修改了那條記錄并進行提交。因此,事務A前后兩次讀取的記錄不一致。這個問題稱為non-repeatable read(不可重復讀)。(兩次讀取的記錄不一致,重復讀取就會發現問題。)

除了non-repeatable read的問題,READ_COMMITTED還可能發生phantom read的問題。

3.REPEATABLE_READ

REPEATABLE_READ意思是,一個事務可以多次從數據庫讀取某條記錄,而且多次讀取的那條記錄都是一致的,相同的。這個隔離級別可以避免dirty read和non-repeatable read的問題,但可能發生phantom read的問題。如下圖。

事務A兩次從數據庫讀取一系列記錄,期間,事務B插入了某條記錄并提交。事務A第二次讀取時,會讀取到事務B剛剛插入的那條記錄。在事務期間,事務A兩次讀取的一系列記錄不一致,這個問題稱為phantom read。

4.SERIALIZABLE

SERIALIZABLE是Spring最強的隔離級別。事務執行時,會在所有級別上加鎖,比如read和write時都會加鎖,仿佛事務是以串行的方式進行的,而不是一起發生的。這會防止dirty read、non-repeatable read和phantom read的出現,但是,會帶來性能的下降。

5.DEFAULT

MySQL默認是REPEATABLE_READ。

這里解釋下上面提到的幾種異常:

(1)臟讀:讀到了其他事務還沒有提交的數據。

(2)不可重復讀:對某數據進行讀取,發現兩次讀取的結果不同,也就是說沒有讀到相同的內容。這是因為有其他事務對這個數據同時進行了修改或刪除。

(3)幻讀:事務 A 根據條件查詢得到了 N 條數據,但此時事務 B 更改或者增加了 M 條符合事務 A 查詢條件的數據,這樣當事務 A 再次進行查詢的時候發現會有 N+M 條數據,產生了幻讀。

以上就是動力節點小編介紹的"Spring事務隔離級別詳解",希望對大家有幫助,想了解更多可查看Spring框架教程。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产二区视频 | 久热re这里只有精品视频 | 亚洲久草在线 | 亚洲国产人久久久成人精品网站 | 久久艹综合 | 国产一级毛片夜一级毛片 | 99综合在线 | 久久精品动漫 | 91婷婷色 | 欧美毛片一级的免费的 | 久久免费高清视频 | 日韩精品成人免费观看 | 亚州综合 | 国产精品a人片在线观看 | 久久99精品久久久久久国产人妖 | 免费看一级黄色录像 | 国产欧美日韩亚洲精品区2345 | 91九色最新地址 | 久久久美女 | 亚洲精品视频久久久 | 国产伦理一区 | 国产日韩综合 | 嗯啊在线观看免费影院 | 亚洲视频在线一区 | 久久婷婷国产一区二区三区 | 亚洲精品人成网线在线 | 久久精品久久久久久久久人 | 亚洲精品人成在线观看 | 久久精品日日躁精品 | 亚洲一区欧洲一区 | 奇米日日 | 国产男女爽爽爽免费视频 | 亚洲狠狠成人综合网 | 欧美国产成人精品一区二区三区 | 日韩成a人片在线观看日本 日韩成人 | 免费看特级毛片 | 亚洲激情网址 | 香蕉依人| 高清国产美女在线观看 | 亚洲视频一区二区在线观看 | 欧美在线成人免费国产 |