Mysql基礎(chǔ)知識點《三》

事務(wù)的特性ACID

原子性:事務(wù)中的操作要么都發(fā)生,要么都不發(fā)生。
一致性:事務(wù)的執(zhí)行結(jié)果必須是將數(shù)據(jù)庫從一個狀態(tài)到另一個狀態(tài)。
隔離性:事務(wù)之間的執(zhí)行互不影響如绸。
持久性:事務(wù)一旦提交嘱朽,其對數(shù)據(jù)庫數(shù)據(jù)的修改就是持久的。

事務(wù)的隔離級別:

讀未提交(read uncommit):一個事務(wù)可以讀取到另一個事務(wù)中為提交的修改后的數(shù)據(jù)怔接。
讀提交(read commit):只有一個事務(wù)被提交了燥翅,其修改的數(shù)據(jù)才對其他事務(wù)可見。
可重復(fù)讀(repeatable read):在同一個事務(wù)中蜕提,讀取統(tǒng)一數(shù)據(jù)必須是一致的森书。
串行化(serializable):對同一行數(shù)據(jù)的所有操作都是串行話的。

mysql為什么選擇可重復(fù)讀作為默認(rèn)的事務(wù)隔離級別谎势?

寫說明原因凛膏,為了保證在語句級別的bin log的數(shù)據(jù)一致性。為什么語句級別的bin log會導(dǎo)致數(shù)據(jù)不一致能脏榆?假如在讀提交的隔離級別下猖毫,假如在事務(wù)A的進行過程中,A先進行了兩次更新操作须喂,此時事務(wù)B進行了一次刪除操作吁断,并且事務(wù)B提交了,事務(wù)A再進行其他操作坞生。因為bin log的記錄規(guī)則是事務(wù)的提交順序仔役,那么在bin log中記錄的是事務(wù)B的操作在事務(wù)A之前進行。先進行刪除操作是己,再進行兩次更新操作又兵,必然是錯誤的,將會導(dǎo)致結(jié)果不一致卒废。但是在RR級別在沛厨,事務(wù)B的刪除操作將會堵塞,直到事務(wù)B提交摔认,因為事務(wù)A在更新操作的時候會上X鎖逆皮。即可以避免RC級別下的問題。

事務(wù)不同隔離級別導(dǎo)致的問題

臟讀:指讀取了未提交事務(wù)的數(shù)據(jù)参袱,讀提交可以解決臟讀电谣。
不可重復(fù)讀:事務(wù)A在進行中的時候,進行了一次讀取操作蓖柔,在之后事務(wù)B對數(shù)據(jù)進行了修改辰企,并且提交了事務(wù)风纠,導(dǎo)致事務(wù)A再次進行相同的讀取操作得到的結(jié)果不一樣了况鸣。
幻讀:事務(wù)A進行了兩次讀取操作,發(fā)現(xiàn)讀取出來的數(shù)據(jù)量不同了竹观,原因是有其他事務(wù)在這期間新增了數(shù)據(jù)镐捧。

如何解決不可重復(fù)讀和幻讀潜索?

myysql中通過MVCC(快照讀)來解決不可重復(fù)讀,通過當(dāng)前讀來解決幻讀懂酱。

  1. 快照讀:每一行數(shù)據(jù)讀冗余了兩個字段竹习,一個是創(chuàng)建版本,一個是刪除版本列牺。版本號隨著事務(wù)的開啟自增整陌,事務(wù)每次取數(shù)據(jù)的時候都會取創(chuàng)建版本號小于當(dāng)前版本號的,以及刪除版本號不存在或者大于當(dāng)前版本號的瞎领。
    原理:將歷史數(shù)據(jù)存一份快照泌辫,所以其他事務(wù)增減數(shù)據(jù)對于當(dāng)前書屋來說是不可見的【拍快照讀通過MVCC來控制震放。
  2. 當(dāng)前讀:當(dāng)前讀通過鎖來控制,當(dāng)前讀包括兩個鎖一個驼修,一個記錄鎖殿遂,一個間隙鎖。我們通過在select語句后面加上 for update(in share mode)乙各。

總結(jié):通過MVCC(快照讀)我們解決了不可重復(fù)讀的問題墨礁,通過當(dāng)前讀我們解決了幻讀的問題。而在RR級別下我們解決了bin log數(shù)據(jù)一致性問題耳峦。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饵溅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子妇萄,更是在濱河造成了極大的恐慌蜕企,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冠句,死亡現(xiàn)場離奇詭異轻掩,居然都是意外死亡,警方通過查閱死者的電腦和手機懦底,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門唇牧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人聚唐,你說我怎么就攤上這事丐重。” “怎么了杆查?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵扮惦,是天一觀的道長。 經(jīng)常有香客問我亲桦,道長崖蜜,這世上最難降的妖魔是什么浊仆? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮豫领,結(jié)果婚禮上抡柿,老公的妹妹穿的比我還像新娘。我一直安慰自己等恐,他們只是感情好洲劣,可當(dāng)我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著课蔬,像睡著了一般闪檬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上购笆,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天粗悯,我揣著相機與錄音,去河邊找鬼同欠。 笑死样傍,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的铺遂。 我是一名探鬼主播衫哥,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼襟锐!你這毒婦竟也來了撤逢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤粮坞,失蹤者是張志新(化名)和其女友劉穎蚊荣,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體莫杈,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡互例,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了筝闹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片媳叨。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖关顷,靈堂內(nèi)的尸體忽然破棺而出糊秆,到底是詐尸還是另有隱情,我是刑警寧澤议双,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布痘番,位于F島的核電站,受9級特大地震影響聋伦,放射性物質(zhì)發(fā)生泄漏夫偶。R本人自食惡果不足惜界睁,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一觉增、第九天 我趴在偏房一處隱蔽的房頂上張望兵拢。 院中可真熱鬧,春花似錦逾礁、人聲如沸说铃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腻扇。三九已至,卻和暖如春砾嫉,著一層夾襖步出監(jiān)牢的瞬間幼苛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工焕刮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留舶沿,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓配并,卻偏偏與公主長得像括荡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子溉旋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,492評論 2 348

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

  • 注:內(nèi)容有點干畸冲,但希望你可以耐心地看完」劾埃回頭我寫一篇實操的文章幫助理解邑闲。 開發(fā)工作中我們會使用到事務(wù),那你們知道事...
    小怪聊職場閱讀 9,149評論 3 35
  • 一梧油、什么是事務(wù)监憎? 數(shù)據(jù)庫事務(wù)(簡稱:事務(wù))是數(shù)據(jù)庫管理系統(tǒng)執(zhí)行過程中的一個邏輯單位,由一個有限的數(shù)據(jù)庫操作序列構(gòu)成...
    join_a922閱讀 426評論 0 0
  • 事務(wù)的定義 事務(wù)由單獨單元的一個或多個SQL語句組成婶溯,在這個單元中鲸阔,每個MySQL語句是相互依賴的。而整個單獨單元...
    諸葛堅強閱讀 1,082評論 0 3
  • --- layout: post title: "如果有人問你關(guān)系型數(shù)據(jù)庫的原理迄委,叫他看這篇文章(轉(zhuǎn))" date...
    藍(lán)墜星閱讀 780評論 0 3
  • 這么多年過去了叙身,一直被朋友稱頑固派渔扎,剛開始還慶幸,以為是在夸獎信轿,可如今反觀自己晃痴,像個笑話残吩。 不知道從什么時候開始,...
    艾孤璟閱讀 607評論 0 0