mysql事務(wù)

1镐作,事務(wù)定義
事務(wù):一個最小的不可再分的工作單元藏姐;通常一個事務(wù)對應(yīng)一個完整的業(yè)務(wù)(例如銀行賬戶轉(zhuǎn)賬業(yè)務(wù)该贾,該業(yè)務(wù)就是一個最小的工作單元)
一個完整的業(yè)務(wù)需要批量的DML(insert、update娃属、delete)語句共同聯(lián)合完成
事務(wù)只和DML語句有關(guān)矾端,或者說DML語句才有事務(wù)掏击。這個和業(yè)務(wù)邏輯有關(guān),業(yè)務(wù)邏輯不同殴玛,DML語句的個數(shù)不同

2捅膘,事務(wù)的四大特性(ACID)
1、原子性(Atomicity):事務(wù)開始后所有操作滚粟,要么全部做完寻仗,要么全部不做,不可能停滯在中間環(huán)節(jié)凡壤。事務(wù)執(zhí)行過程中出錯署尤,會回滾到事務(wù)開始前的狀態(tài),所有的操作就像沒有發(fā)生一樣亚侠。也就是說事務(wù)是一個不可分割的整體曹体,就像化學中學過的原子,是物質(zhì)構(gòu)成的基本單位硝烂。

2箕别、一致性(Consistency):事務(wù)開始前和結(jié)束后,數(shù)據(jù)庫的完整性約束沒有被破壞 。比如A向B轉(zhuǎn)賬串稀,不可能A扣了錢啥酱,B卻沒收到。

3厨诸、隔離性(Isolation):同一時間镶殷,只允許一個事務(wù)請求同一數(shù)據(jù),不同的事務(wù)之間彼此沒有任何干擾微酬。比如A正在從一張銀行卡中取錢绘趋,在A取錢的過程結(jié)束前,B不能向這張卡轉(zhuǎn)賬颗管。

4陷遮、持久性(Durability):事務(wù)完成后,事務(wù)對數(shù)據(jù)庫的所有更新將被保存到數(shù)據(jù)庫垦江,不能回滾帽馋。

3,事務(wù)的隔離級別


image.png

讀已提交(read-committed)解決了臟讀,但是兩次讀取的結(jié)果可能會不一致比吭,第三個隔離級別 可重復(fù)讀(repeatable-read) 解決了多次查詢結(jié)果都是一樣的問題绽族,但是對于如果事務(wù)執(zhí)行期間有其他事務(wù)插入新數(shù)據(jù),此時會產(chǎn)生幻讀衩藤,即明明當前事務(wù)查詢沒有這條結(jié)果吧慢,理應(yīng)可以在當前事務(wù)進行新增操作,但是卻提示記錄已存在不能插入相同主鍵記錄赏表,這就是幻讀检诗,或者修改明明是全表update,但是執(zhí)行成功后再進行查詢卻發(fā)現(xiàn)還有一條記錄沒有更新成功瓢剿,好像見鬼了一樣砾赔,這也是幻讀桥氏。

1音诫、 read uncommitted

  • 事物A和事物B竣付,事物A未提交的數(shù)據(jù),事物B可以讀取到
  • 這里讀取到的數(shù)據(jù)叫做“臟數(shù)據(jù)”
  • 這種隔離級別最低前标,這種級別一般是在理論上存在坠韩,數(shù)據(jù)庫隔離級別一般都高于該級別

2、read committed

  • 事物A和事物B炼列,事物A提交的數(shù)據(jù)只搁,事物B才能讀取到
  • 這種隔離級別高于讀未提交
  • 換句話說,對方事物提交之后的數(shù)據(jù)俭尖,我當前事物才能讀取到
  • 這種級別可以避免“臟數(shù)據(jù)”
  • 這種隔離級別會導致“不可重復(fù)讀取”
  • Oracle默認隔離級別

3氢惋、repeatable read

  • 事務(wù)A和事務(wù)B洞翩,事務(wù)A提交之后的數(shù)據(jù),事務(wù)B讀取不到
  • 事務(wù)B是可重復(fù)讀取數(shù)據(jù)
  • 這種隔離級別高于讀已提交
  • 換句話說焰望,對方提交之后的數(shù)據(jù)骚亿,我還是讀取不到
  • 這種隔離級別可以避免“不可重復(fù)讀取”,達到可重復(fù)讀取
  • 比如1點和2點讀到數(shù)據(jù)是同一個
  • MySQL默認級別
  • 雖然可以達到可重復(fù)讀取熊赖,但是會導致“幻像讀”

4来屠、serializable

  • 事務(wù)A和事務(wù)B,事務(wù)A在操作數(shù)據(jù)庫時震鹉,事務(wù)B只能排隊等待
  • 這種隔離級別很少使用俱笛,吞吐量太低,用戶體驗差
  • 這種級別可以避免“幻像讀”传趾,每一次讀取的都是數(shù)據(jù)庫中真實存在數(shù)據(jù)迎膜,事務(wù)A與事務(wù)B串行,而不并發(fā)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末浆兰,一起剝皮案震驚了整個濱河市磕仅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌簸呈,老刑警劉巖榕订,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蝶棋,居然都是意外死亡卸亮,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門玩裙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人段直,你說我怎么就攤上這事吃溅。” “怎么了鸯檬?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵决侈,是天一觀的道長。 經(jīng)常有香客問我喧务,道長赖歌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任功茴,我火速辦了婚禮庐冯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘坎穿。我一直安慰自己展父,他們只是感情好返劲,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著栖茉,像睡著了一般篮绿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吕漂,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天亲配,我揣著相機與錄音,去河邊找鬼惶凝。 笑死弃榨,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的梨睁。 我是一名探鬼主播鲸睛,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼坡贺!你這毒婦竟也來了官辈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤遍坟,失蹤者是張志新(化名)和其女友劉穎拳亿,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體愿伴,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡肺魁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了隔节。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹅经。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖怎诫,靈堂內(nèi)的尸體忽然破棺而出瘾晃,到底是詐尸還是另有隱情,我是刑警寧澤幻妓,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布蹦误,位于F島的核電站,受9級特大地震影響肉津,放射性物質(zhì)發(fā)生泄漏强胰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一妹沙、第九天 我趴在偏房一處隱蔽的房頂上張望偶洋。 院中可真熱鬧,春花似錦初烘、人聲如沸涡真。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哆料。三九已至缸剪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間东亦,已是汗流浹背杏节。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留典阵,地道東北人奋渔。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像壮啊,于是被迫代替她去往敵國和親嫉鲸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容