2019-08-06第八講:事務(wù)隔離[mysql實(shí)戰(zhàn)45講]

原文來(lái)自極客時(shí)間,?第八講:事務(wù)隔離[mysql實(shí)戰(zhàn)45講]

圖1

一:總括:?

? ? 1. begin / start transaction 并不是事務(wù)起點(diǎn), 而是他們之后的第一個(gè)操作innodb表的語(yǔ)句.?

? ? 2. 馬上啟動(dòng)事務(wù) : start transaction with consistent snapshot

? ? 3. 事務(wù)A看的到k 是1;? 因?yàn)橐恢滦砸晥D在start transaction whit consistent snapshot時(shí)創(chuàng)建;?

? ? 4. 事務(wù)B看到的k 是 2:? 因?yàn)?事務(wù)C是最先提交的, update有排他鎖, 所以事務(wù)B的update 和事務(wù)CD的update沖突了,? ==> 有疑問(wèn)!??


二: "快照"在MVCC中是怎么工作的 ?

1.疑問(wèn): 什么是MVCC ?? ? ?==>?Multi-Version Concurrency Control 多版本并發(fā)控制

? ? 1: MVCC步驟:?

? ? ? ? 1.事務(wù)啟動(dòng)時(shí), 創(chuàng)建快照; 基于整個(gè)庫(kù)

? ? ? ? ? ? ? ? 唯一的事務(wù)id ==> transaction id

? ? ? ? ? ? ? ? 數(shù)據(jù)版本的事務(wù)ID ==> row trx_id


2.行狀態(tài)變更圖

名詞解釋:?

1.事務(wù)ID : 唯一的, 遞增的

2.一致性視圖數(shù)組 read - view : 保存事務(wù)啟動(dòng)瞬間"活躍"的事務(wù)ID, 由高水位, 低水位組成.?

3.活躍: 啟動(dòng)但未提交

4: 低水位: 數(shù)組中事務(wù)ID最小值

5: 高水位: 當(dāng)前系統(tǒng)創(chuàng)建過(guò)的事務(wù)ID最大值

? ? 注意: 獲取視圖數(shù)組高低水位, 是原子操作,期間不能創(chuàng)建新事務(wù).


3.數(shù)據(jù)版本可見性規(guī)則

6:row trx_id: 行數(shù)據(jù)版本, 哪個(gè)事務(wù)更新了該行,則把事務(wù)ID賦給row trx_id

? ? ==> 既: row trx_id? =? 最新更新該行的事務(wù)ID

7.數(shù)據(jù)版本的可見性規(guī)則: read - view 和 row trx_id 對(duì)比得出.

疑問(wèn)1: 3.b的具體場(chǎng)景是什么樣的? ==> 圖3畫的不對(duì).?

總結(jié)1 事務(wù)視圖(一致性讀) :?

? ? 1. 版本未提交, 不可見.?

? ? 2. 版本已提交, 但是在視圖創(chuàng)建后提交的, 不可見;

? ? 3. 版本已提交, 是在視圖創(chuàng)建前提交的, 可見.

? ? 4.自己的更新, 可見.?


4. 事務(wù)A查詢數(shù)據(jù)邏輯圖

總結(jié)2: select 是一致性讀:?

三: 更新邏輯


事務(wù)B更新邏輯

????規(guī)則1: 更新數(shù)據(jù)都是先讀后寫, 這個(gè)讀就是當(dāng)前讀 current read

????適用范圍: update 語(yǔ)句 ,? 加鎖的select 語(yǔ)句


6.事務(wù)C不是馬上提交

? ? 推導(dǎo)1 : 如果事務(wù)C不馬上提交, 則需要用到兩階段鎖協(xié)議, 事務(wù)B的update 和select 會(huì)被阻塞.

????總結(jié)3:update 是當(dāng)前讀.?

疑問(wèn)2: 那insert? 和delete 呢 ??


7. 事務(wù)B更新邏輯圖

????結(jié)論4: 可重復(fù)讀的核心是一致性讀 consistent read

四: 可重復(fù)讀 和 讀提交的區(qū)別:?

? ? 可重復(fù)讀: 事務(wù)開始時(shí)創(chuàng)建一致性視圖;

? ? 讀提交: 每一個(gè)語(yǔ)句執(zhí)行前,重新算一個(gè)新視圖.?

? ? ==> 推論: 讀提交級(jí)別下, 都是當(dāng)前讀.??

? ? ? ? ? ? 注意: 當(dāng)前讀也需要遵守兩階段鎖協(xié)議? ??

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末掐隐,一起剝皮案震驚了整個(gè)濱河市讥电,隨后出現(xiàn)的幾起案子喳瓣,更是在濱河造成了極大的恐慌替饿,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件焦履,死亡現(xiàn)場(chǎng)離奇詭異拓劝,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)嘉裤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門郑临,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人屑宠,你說(shuō)我怎么就攤上這事厢洞。” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵躺翻,是天一觀的道長(zhǎng)丧叽。 經(jīng)常有香客問(wèn)我,道長(zhǎng)公你,這世上最難降的妖魔是什么踊淳? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮陕靠,結(jié)果婚禮上迂尝,老公的妹妹穿的比我還像新娘。我一直安慰自己懦傍,他們只是感情好雹舀,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布芦劣。 她就那樣靜靜地躺著粗俱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪虚吟。 梳的紋絲不亂的頭發(fā)上寸认,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音串慰,去河邊找鬼偏塞。 笑死,一個(gè)胖子當(dāng)著我的面吹牛邦鲫,可吹牛的內(nèi)容都是我干的灸叼。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼庆捺,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼古今!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起滔以,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤捉腥,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后你画,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抵碟,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年坏匪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拟逮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡适滓,死狀恐怖敦迄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤颅崩,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布几于,位于F島的核電站,受9級(jí)特大地震影響沿后,放射性物質(zhì)發(fā)生泄漏沿彭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一尖滚、第九天 我趴在偏房一處隱蔽的房頂上張望喉刘。 院中可真熱鬧,春花似錦漆弄、人聲如沸睦裳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)廉邑。三九已至,卻和暖如春倒谷,著一層夾襖步出監(jiān)牢的瞬間蛛蒙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工渤愁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留牵祟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓抖格,卻偏偏與公主長(zhǎng)得像诺苹,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子雹拄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

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