幻讀,臟讀茬高,不可重復(fù)讀

一兆旬、事務(wù)
事務(wù)是數(shù)據(jù)庫管理系統(tǒng)執(zhí)行過程中的一個邏輯單位,由一個有限的數(shù)據(jù)庫操作序列構(gòu)成怎栽。–摘自百科
在MySQL里爵憎,事務(wù)是在引擎層面實現(xiàn),比如MyIsam不支持婚瓜,InnoDB支持
二宝鼓、ACID
提到事務(wù),肯定會想到 ACID 是吧巴刻,自行感受一下概念愚铡,然后我們來講講隔離性的問題。
原子性( Atomicity):事務(wù)的所有操作要么全部成功胡陪,要么全部回滾沥寥。
一致性( Consistency):總是從一個一致性的狀態(tài)轉(zhuǎn)換到另一個一致性的狀態(tài)。
隔離性( Isolation):多個事務(wù)并發(fā)執(zhí)行時柠座,一個事務(wù)的執(zhí)行不應(yīng)影響其他事務(wù)的執(zhí)行
持久性( Durability):已被提交的事務(wù)對數(shù)據(jù)庫的修改應(yīng)該永久保存在數(shù)據(jù)庫中邑雅。
三、隔離級別
臟讀妈经、 幻讀淮野、 不可重復(fù)讀,做了多年的 CRUDer吹泡,對這幾個詞真是不陌生骤星,要不是出去面試,也真不會去了解爆哑。希望大家看完之后洞难,面試的時候,不要慌揭朝,跟他剛队贱。
實際上色冀,這些場景都是出現(xiàn)在多個事務(wù)同時執(zhí)行時的場景。
3.1 臟讀(Read Uncommitted)
通俗的講柱嫌,一個事務(wù)在處理過程中讀取了另外一個事務(wù)未提交的數(shù)據(jù)呐伞。
你都還沒提交,我就讀到了你剛操作的數(shù)據(jù)慎式,萬一你回滾了怎么辦伶氢,你說這臟不臟。
舉例:

假設(shè)打賞的邏輯是:① 我的賬戶+1元瘪吏;② 你的賬戶-1元癣防。
當你執(zhí)行到第一個步驟,我去查詢我的賬戶已經(jīng)是2元了掌眠,很開心@俣ⅰ!蓝丙!宣布請大家去擼串<对狻!渺尘!但是最后扣款的時候發(fā)現(xiàn)你余額不足了挫鸽,回滾了,我的1元沒了鸥跟,就很難受6肌!

3.2 不可重復(fù)讀(Non-repeatable Read)
通俗的講医咨,一個事務(wù)范圍內(nèi)枫匾,多次查詢某個數(shù)據(jù),卻得到不同的結(jié)果拟淮。
與臟讀的區(qū)別:臟讀是讀到未提交的數(shù)據(jù)干茉,而不可重復(fù)讀讀到的卻是已經(jīng)提交的數(shù)據(jù),但實際上是違反了事務(wù)的一致性原則很泊。
舉例:

假設(shè)我查了下賬戶余額角虫,看到你們給小編打賞了1塊錢,很開心3虐觥I弦!搏屑!宣布請大家去擼串U俊!辣恋!在付款之前亮垫,錢被另外一個人取走模软,又查詢到?jīng)]錢了,被留下來洗碗了R省H家臁!
因為我查詢完后继蜡,這條數(shù)據(jù)沒鎖住回俐,又被別的事務(wù)更新了,導(dǎo)致當前事務(wù)每次都是讀到最新的數(shù)據(jù)稀并。

3.3 幻讀
在Repeatable Read隔離級別下仅颇,一個事務(wù)可能會遇到幻讀(Phantom Read)的問題。
事務(wù)A讀取與搜索條件相匹配的若干行碘举。事務(wù)B以插入或刪除行等方式來修改事務(wù)A的結(jié)果集忘瓦,然后再提交。
舉例:

看到了嗎引颈,在一個事務(wù)A中耕皮,第一次查詢某條記錄,是沒有的蝙场,但是凌停,當試圖更新這條不存在的記錄時,竟然能成功售滤,并且苦锨,再次讀取同一條記錄,它就神奇地出現(xiàn)了趴泌。
實際上舟舒,在InnoDB引擎中,對于索引的掃描嗜憔,不僅鎖住掃描到的索引秃励,而且還鎖住這些索引覆蓋的范圍(gap),因此這個范圍是內(nèi)插入數(shù)據(jù)是不允許的
https://blog.csdn.net/lonely_bin/article/details/96175384

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吉捶,一起剝皮案震驚了整個濱河市夺鲜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌呐舔,老刑警劉巖币励,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異珊拼,居然都是意外死亡食呻,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仅胞,“玉大人每辟,你說我怎么就攤上這事「删桑” “怎么了渠欺?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長椎眯。 經(jīng)常有香客問我挠将,道長,這世上最難降的妖魔是什么编整? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任捐名,我火速辦了婚禮,結(jié)果婚禮上闹击,老公的妹妹穿的比我還像新娘镶蹋。我一直安慰自己,他們只是感情好赏半,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布贺归。 她就那樣靜靜地躺著,像睡著了一般断箫。 火紅的嫁衣襯著肌膚如雪拂酣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天仲义,我揣著相機與錄音婶熬,去河邊找鬼。 笑死埃撵,一個胖子當著我的面吹牛赵颅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播暂刘,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼饺谬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了谣拣?” 一聲冷哼從身側(cè)響起募寨,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎森缠,沒想到半個月后拔鹰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡贵涵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年列肢,在試婚紗的時候發(fā)現(xiàn)自己被綠了恰画。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡例书,死狀恐怖锣尉,靈堂內(nèi)的尸體忽然破棺而出刻炒,到底是詐尸還是另有隱情决采,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布坟奥,位于F島的核電站树瞭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏爱谁。R本人自食惡果不足惜晒喷,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望访敌。 院中可真熱鬧凉敲,春花似錦、人聲如沸寺旺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阻塑。三九已至蓝撇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間陈莽,已是汗流浹背渤昌。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留走搁,地道東北人独柑。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像私植,于是被迫代替她去往敵國和親群嗤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355