亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中有哪些事務隔離級別

發布時間:2021-07-13 14:51:53 來源:億速云 閱讀:112 作者:Leah 欄目:大數據

本篇文章為大家展示了MySQL中有哪些事務隔離級別,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

事務的四大ACID 屬性:Atomicity 原子性、Consistency 一致性、Isolation 隔離性、Durability 持久性。

原子性: 事務是最小的執行單位不可分割,強調事務的不可分割。
一致性: 事務執行前后,數據的完整性保持一致。
持久性: 一旦事務執行結束,數據就保存到數據庫。
隔離性: 一個事務執行的前后不應該受到其他事務的干擾。

MySQL的事務隔離級別有四種:未提交讀、已提交讀、可重復讀和串行化。

未提交讀: 事務A可以讀取到事務B還未提交的數據。比如事務B將小明的賬戶余額從100改到110,事務B還沒提交,在這個隔離級別下事務A就讀取到的數據就是110。如果說事務B回滾了,那數據庫里小明的賬戶余額又變成100了,可是事務A返回的數據卻是110。這就造成了臟讀。

已提交讀: 事務A讀取到數據是事務B提交后的數據,即一個事務提交后,其變更才會被另一個事務讀取到。比如事務B將小明的賬戶余額從100改到110,事務B還沒提交的時候,事務A讀取到的數據仍然是100。因為在這個隔離級別下一個事務只能讀取到另一個事務修改后且提交事務后的數據。但是這種情況會造成一個問題就是,事務A在事務B隱式提交數據后讀取到的數據是110,這是沒問題的,但是在事務A還沒提交前,事務B又將小明的賬戶余額改為120并隱式提交,然后事務A再來讀取的時候就讀到了120,所以事務A的兩次讀取結果不一致。這就造成了不可重復讀。

可重復讀: 事務A只能讀到事務B修改的已提交了事務的數據,但是第一次讀取的數據,即使別的事務修改了這個值,這個事務再讀取這條數據的時候還是和第一次獲取的一樣,不會隨著別的事務的修改而改變。這和已提交讀的區別就在于,它重復讀取的值是不變的。所以叫可重復讀,很貼切的名字。拿剛才的例子就是,事務A在自己的事務里多次讀取小明的賬戶余額時,如果第一次讀取的是100,那么不管在這之后事務B對它進行如何的修改,對于事務A來說多次讀取的結果都是100。可重復讀解決了不可重復讀(聽起來像是廢話),但是存在幻讀的情況。

幻讀:當事務A查詢賬戶余額=100的客戶個數時,假如返回的是1萬,這時事務B將小明的賬戶余額由110改為100并提交事務,事務A再次查詢賬戶余額=100的客戶個數時返回的統計個數變成了1萬零1。這就是幻讀。

幻讀和不可重復讀有區別。不可重復讀側重點在于讀取同一條數據,數據被修改,如讀小明的賬戶余額;幻讀的側重點在于新增或者刪除 (數據條數變化),同樣的條件兩次查詢記錄數不一樣。

串行化: 上面三個隔離級別對同一條記錄的讀和寫都可以并發進行,但是串行化的隔離級別下就只能進行讀-讀并發。只要有一個事務操作一條記錄的寫,那么其他事務要讀這條記錄的事務都得等著。例如,事務B修改小明的賬戶還未提交前事務A來讀,那么事務A就只能等著事務B提交之后才能讀。

串行化的隔離級別一半沒人用,因為性能比較低,常用的是已提交讀和可重復讀。
大多數數據庫采用已提交讀,MySQ的默認隔離級別是:可重復讀。

可以通過 select @@global.tx_isolation;來查看當前隔離級別。

?不會造成  ?可能造成  
隔離級別
臟讀不可重復讀幻讀
未提交讀???
已提交讀???
可重復讀???
串行化???

上述內容就是MySQL中有哪些事務隔離級別,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

增城市| 油尖旺区| 武夷山市| 苏尼特右旗| 临西县| 汶上县| 株洲市| 礼泉县| 大关县| 拉孜县| 高州市| 瑞昌市| 光山县| 襄垣县| 聂拉木县| 桂平市| 融水| 台州市| 宁都县| 雷波县| 彩票| 南京市| 丹江口市| 塘沽区| 卢龙县| 鄂伦春自治旗| 合山市| 孟州市| 龙山县| 东平县| 温州市| 娄烦县| 民乐县| 商城县| 专栏| 白河县| 梁平县| 南平市| 东山县| 柞水县| 海伦市|