隔離級別

定義

  • SQL標準定義了4類隔離級別执桌,包括了一些具體規(guī)則;
  • 用來限定事務內外的哪些改變是可見的,哪些是不可見的。
  • 低級別的隔離級一般支持更高的并發(fā)處理搓幌,并擁有更低的系統(tǒng)開銷。

Read Uncommitted(讀取未提交內容)

  • 在該隔離級別迅箩,所有事務都可以看到其他未提交事務的執(zhí)行結果;
  • 本隔離級別很少用于實際應用溉愁,因為它的性能也不比其他級別好多少;
  • 屬于臟讀

Read Committed(讀取提交內容)

  • 這是大多數(shù)數(shù)據(jù)庫系統(tǒng)的默認隔離級別(但不是MySQL默認的);
  • 它滿足了隔離的簡單定義:一個事務只能看見已經(jīng)提交事務所做的改變 ;
  • 支持所謂的不可重復讀(Nonrepeatable Read)饲趋,因為同一事務的其他實例在該實例處理其間可能會有新的commit拐揭,所以同一select可能返回不同結果撤蟆。

Repeatable Read(可重讀)

  • 這是MySQL的默認事務隔離級別;
  • 它確保同一事務的多個實例在并發(fā)讀取數(shù)據(jù)時堂污,會看到同樣的數(shù)據(jù)行家肯。
  • 不過理論上,這會導致另一個棘手的問題:幻讀 (Phantom Read)敷鸦。簡單的說息楔,幻讀指當用戶讀取某一范圍的數(shù)據(jù)行時,另一個事務又在該范圍內插入了新行扒披,當用戶再讀取該范圍的數(shù)據(jù)行時值依,會發(fā)現(xiàn)有新的“幻影” 行。InnoDB和Falcon存儲引擎通過多版本并發(fā)控制(MVCC碟案,Multiversion Concurrency Control)機制解決了該問題愿险。

Serializable(可串行化)

  • 這是最高的隔離級別,它通過強制事務排序价说,使之不可能相互沖突辆亏,從而解決幻讀問題。
  • 簡言之鳖目,它是在每個讀的數(shù)據(jù)行上加上共享鎖扮叨。在這個級別,可能導致大量的超時現(xiàn)象和鎖競爭

以上四種隔離級別采取不同的鎖類型來實現(xiàn)领迈,若讀取的是同一個數(shù)據(jù)的話彻磁,就容易發(fā)生問題。例如:

  • 臟讀(Drity Read):某個事務已更新一份數(shù)據(jù)狸捅,另一個事務在此時讀取了同一份數(shù)據(jù)衷蜓,由于某些原因,前一個RollBack了操作尘喝,則后一個事務所讀取的數(shù)據(jù)就會是不正確的磁浇。
  • 不可重復讀(Non-repeatable read): 在一個事務的兩次查詢之中數(shù)據(jù)不一致,這可能是兩次查詢過程中間插入了一個事務更新的原有的數(shù)據(jù)朽褪。
  • 幻讀(Phantom Read): 在一個事務的兩次查詢中數(shù)據(jù)筆數(shù)不一致置吓,例如有一個事務查詢了幾列(Row)數(shù)據(jù),而另一個事務卻在此時插入了新的幾列數(shù)據(jù)缔赠,先前的事務在接下來的查詢中衍锚,就會發(fā)現(xiàn)有幾列數(shù)據(jù)是它先前所沒有的。

在MySQL中橡淑,實現(xiàn)了這四種隔離級別构拳,分別有可能產(chǎn)生問題如下所示:


ioslation-level
ioslation-level

參考資料

MySQL事務隔離級別詳解

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子置森,更是在濱河造成了極大的恐慌斗埂,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凫海,死亡現(xiàn)場離奇詭異呛凶,居然都是意外死亡,警方通過查閱死者的電腦和手機行贪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進店門漾稀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人建瘫,你說我怎么就攤上這事崭捍。” “怎么了啰脚?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵殷蛇,是天一觀的道長。 經(jīng)常有香客問我橄浓,道長粒梦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任荸实,我火速辦了婚禮匀们,結果婚禮上,老公的妹妹穿的比我還像新娘准给。我一直安慰自己泄朴,他們只是感情好,可當我...
    茶點故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布圆存。 她就那樣靜靜地躺著叼旋,像睡著了一般仇哆。 火紅的嫁衣襯著肌膚如雪沦辙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天讹剔,我揣著相機與錄音油讯,去河邊找鬼。 笑死延欠,一個胖子當著我的面吹牛陌兑,可吹牛的內容都是我干的。 我是一名探鬼主播由捎,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼兔综,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起软驰,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤涧窒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后锭亏,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纠吴,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年慧瘤,在試婚紗的時候發(fā)現(xiàn)自己被綠了戴已。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡锅减,死狀恐怖糖儡,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情怔匣,我是刑警寧澤休玩,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站劫狠,受9級特大地震影響拴疤,放射性物質發(fā)生泄漏。R本人自食惡果不足惜独泞,卻給世界環(huán)境...
    茶點故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一呐矾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧懦砂,春花似錦蜒犯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至羽资,卻和暖如春淘菩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背屠升。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工潮改, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腹暖。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓汇在,卻偏偏與公主長得像,于是被迫代替她去往敵國和親脏答。 傳聞我的和親對象是個殘疾皇子糕殉,可洞房花燭夜當晚...
    茶點故事閱讀 45,781評論 2 361

推薦閱讀更多精彩內容

  • 昨天了解了下數(shù)據(jù)庫中的事務的特性亩鬼,和事務隔離的級別。但是一覺醒來反復思考感覺對事務的隔離級別理解的不是很深入和透徹...
    MentallyL閱讀 1,064評論 0 9
  • 數(shù)據(jù)庫中經(jīng)常被問到四大特性和隔離級別阿蝶,一般都是涉及到概念性問題辛孵,在此做一些整理總結,方便理解赡磅。 1魄缚、事務的隔離級別...
    Hughman閱讀 1,900評論 0 5
  • 本篇講訴數(shù)據(jù)庫中事務的四大特性(ACID),并且將會詳細地說明事務的隔離級別焚廊。 如果一個數(shù)據(jù)庫聲稱支持事務的操作冶匹,...
    java面試收割機閱讀 432評論 0 0
  • 什么是事務 事務是應用程序中一系列嚴密的操作,所有操作必須成功完成咆瘟,否則在每個操作中所作的所有更改都會被撤消嚼隘。也就...
    游泳的石頭閱讀 27,902評論 11 55
  • 百日目標檢視 目標1,親子英語:學習完清華幼兒英語2b袒餐,3a飞蛹,3b。分級讀完海尼曼g1的一半灸眼。 目標2卧檐,親子漢語:...
    小靈仙子閱讀 198評論 2 1