欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL事務的四大特性以及并發(fā)事務問題解讀

 更新時間:2023年09月22日 16:14:54   作者:LMGD  
這篇文章主要介紹了MySQL事務的四大特性以及并發(fā)事務問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

MySQL事務的四大特性以及并發(fā)事務

事務的四大特性ACID

原子性(Atomicity):

  • 事務是不可分割的最小單元,要么全部成功,要么全部失敗。
  • (eg:轉(zhuǎn)賬案例,轉(zhuǎn)賬過程中任何一步操作失敗了,那么整個事務就失敗了)

一致性(Consistency):

  • 事務完成時,必須使所有的數(shù)據(jù)都保持一致狀態(tài)。
  • (不管是事務執(zhí)行成功提交,還是事務執(zhí)行失敗回滾了,張三李四賬戶余額加起是一個恒定值。轉(zhuǎn)賬前總和6000,轉(zhuǎn)賬后不可能出現(xiàn)兩個人的賬戶總和8000)

隔離性(Isolation):

  • 數(shù)據(jù)庫系統(tǒng)提供的隔離機制,保證事務在不受外部并發(fā)操作影響的獨立環(huán)境下運行。
  • (隔離性是指:有并發(fā)個事務,事務A、事務B同時操作數(shù)據(jù)庫,A事務在操作的時候不會影響B(tài)事務的執(zhí)行;同理B事務在操作的時候,也不會影響A事務的執(zhí)行。它們兩個事務在獨立的環(huán)境下運行的,互不影響。)

持久性(Persistence):

  • 事務一旦提交或回滾,它對數(shù)據(jù)庫中的數(shù)據(jù)改變就是永久的。
  • (不管是事務執(zhí)行成功提交了,還是操作異?;貪L了,它對數(shù)據(jù)庫的改變時永久的,因為數(shù)據(jù)庫的數(shù)據(jù)最終是存儲在磁盤的,那么存儲在磁盤的數(shù)據(jù)它會被永久的保留下來)

事務-并發(fā)事務問題

臟讀:一個事務讀到另一個事務還沒有提交的數(shù)據(jù)。

不可重復讀:一個事務先后讀取同一條記錄,但兩次讀取的數(shù)據(jù)不同,稱之為不可重復讀。

幻讀: 一個事務按照條件查詢事務時,沒有對應的數(shù)據(jù)行,但是在插入數(shù)據(jù)時,又發(fā)現(xiàn)這行數(shù)據(jù)已存在,好像出現(xiàn)了幻影。

并發(fā)事務出現(xiàn)的問題-圖文描述:

臟讀:

  • B事務讀取A事務修改后(update后)未提交的數(shù)據(jù);
  • 事務A對id=1 的數(shù)據(jù)進行了修改,且修改后還未提交事務,此時事務B查詢id=1的數(shù)據(jù),查到的數(shù)據(jù)是事務B修改后未提交的數(shù)據(jù)。這種情況稱之為臟讀。

不可以重復讀:

  • A事務一共有4個操作,第一步時查詢數(shù)據(jù)庫id=1的數(shù)據(jù),第二步執(zhí)行其他操作時,此時B事務對id=1的數(shù)據(jù)進行修改(注:并發(fā)事務),修改后提交事務。
  • A事務執(zhí)行第三步查詢id=1的數(shù)據(jù)時,和第一步查詢id=1的返回結(jié)果不一樣(因為B事務對id=1的數(shù)據(jù)進行了修改),這種情況稱之為不可以重復讀。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論