中文字幕av高清_国产视频一二区_男女羞羞羞视频午夜视频_成人精品一区_欧美色视_在线视频这里只有精品

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 為什么MySQL在innodb引擎中即使使用了MVCC機(jī)制仍然會(huì)出現(xiàn)丟失更新?

為什么MySQL在innodb引擎中即使使用了MVCC機(jī)制仍然會(huì)出現(xiàn)丟失更新?

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-13 07:59:40 1697155180

一、為什么MySQL在innodb引擎中即使使用了MVCC機(jī)制仍然會(huì)出現(xiàn)丟失更新

mvcc在innodb中只負(fù)責(zé)解決讀寫(xiě)沖突,把普通select語(yǔ)句變成快照讀。寫(xiě)沖突仍然是靠鎖來(lái)解決的。因此要解決你說(shuō)的丟失更新,要用select…for update主動(dòng)加x鎖。

當(dāng)然mvcc不是說(shuō)完全不能解決丟失更新,比如postgresql的serializable隔離級(jí)別下,遇到寫(xiě)寫(xiě)沖突直接向客戶(hù)端返回異常,保證只有一個(gè)事務(wù)可以更新成功。

Mysql在可重復(fù)讀隔離級(jí)別下可保證事務(wù)較高的隔離性,同樣的sql查詢(xún)語(yǔ)句在一個(gè)事務(wù)里多次執(zhí)行查詢(xún)結(jié)果相同,就算其它事務(wù)對(duì)數(shù)據(jù)有修改也不會(huì)影響當(dāng)前事務(wù)sql語(yǔ)句的查詢(xún)結(jié)果

?? 這個(gè)隔離性就是靠MVCC(Multi-Version Concurrency Control)機(jī)制保證

對(duì)一行數(shù)據(jù)的讀和寫(xiě)兩個(gè)操作默認(rèn)是不會(huì)通過(guò)加鎖互斥來(lái)保證隔離性,避免了頻繁加鎖互斥而在串行化隔離級(jí)別為了保證較高的隔離性是通過(guò)將所有操作加鎖互斥來(lái)實(shí)現(xiàn)的

延伸閱讀:

二、MVCC多版本并發(fā)控制機(jī)制的實(shí)現(xiàn)

undo日志版本鏈?zhǔn)侵敢恍袛?shù)據(jù)被多個(gè)事務(wù)依次修改過(guò)后,在每個(gè)事務(wù)修改完后,Mysql會(huì)保留修改前的數(shù)據(jù)undo回滾日志,并且用兩個(gè)隱藏字段trx_id和roll_pointer把這些undo日志串聯(lián)起來(lái)形成一個(gè)歷史記錄版本鏈。

在可重復(fù)讀隔離級(jí)別,當(dāng)事務(wù)開(kāi)啟,執(zhí)行任何查詢(xún)sql時(shí)會(huì)生成當(dāng)前事務(wù)的一致性視圖read-view該視圖在事務(wù)結(jié)束之前都不會(huì)變化(如果是讀已提交隔離級(jí)別在每次執(zhí)行查詢(xún)sql時(shí)都會(huì)重新生成)該視圖由執(zhí)行查詢(xún)時(shí)所有未提交事務(wù)id數(shù)組(數(shù)組里最小的id為min_id)和已創(chuàng)建的最大事務(wù)id(max_id)組成事務(wù)里任何sql的查詢(xún)結(jié)果需要從對(duì)應(yīng)版本鏈里的最新數(shù)據(jù)開(kāi)始逐條跟read-view做比對(duì)從而得到最終的快照結(jié)果

1.如果 row 的 trx_id 落在綠色部分( trx_id

2. 如果 row 的 trx_id 落在紅色部分( trx_id>max_id ),表示這個(gè)版本是由將來(lái)啟動(dòng)的事務(wù)生成的,是不可見(jiàn)的(若 row 的 trx_id 就是當(dāng)前自己的事務(wù)是可見(jiàn)的);

3. 如果 row 的 trx_id 落在黃色部分(min_id <=trx_id<= max_id),那就包括兩種情況:

若 row 的 trx_id 在視圖數(shù)組中,表示這個(gè)版本是由還沒(méi)提交的事務(wù)生成的,不可見(jiàn)(若 row 的 trx_id 就是當(dāng)前自己的事務(wù),是可見(jiàn)的);

若 row 的 trx_id 不在視圖數(shù)組中,表示這個(gè)版本是已經(jīng)提交了的事務(wù)生成的,可見(jiàn)。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
DBeaver怎么保持?jǐn)?shù)據(jù)庫(kù)連接?

一、DBeaver保持?jǐn)?shù)據(jù)庫(kù)連接的方法1、連接到數(shù)據(jù)庫(kù)打開(kāi)DBeaver并選擇連接到您的目標(biāo)數(shù)據(jù)庫(kù)。選擇適當(dāng)?shù)臄?shù)據(jù)庫(kù)類(lèi)型,輸入必要的連接信息,如主機(jī)...詳情>>

2023-10-13 09:05:04
Kettle連接MySQL為什么會(huì)報(bào)錯(cuò)?

一、Kettle連接MySQL會(huì)報(bào)錯(cuò)的原因1、驅(qū)動(dòng)程序缺失Kettle需要使用MySQL的JDBC驅(qū)動(dòng)程序來(lái)連接MySQL數(shù)據(jù)庫(kù)。如果沒(méi)有正確配置或提供JDBC驅(qū)動(dòng)程序,...詳情>>

2023-10-13 08:53:41
wait()、sleep()、join()和yield()區(qū)別是什么?

一、wait()wait()方法是Object類(lèi)中的方法,主要用于線(xiàn)程間的同步和協(xié)作。當(dāng)一個(gè)線(xiàn)程調(diào)用某個(gè)對(duì)象的wait()方法時(shí),它會(huì)釋放該對(duì)象的鎖,并進(jìn)入等...詳情>>

2023-10-13 08:45:29
什么是Caché數(shù)據(jù)庫(kù)?

一、對(duì)象訪(fǎng)問(wèn)通過(guò)對(duì)象訪(fǎng)問(wèn),開(kāi)發(fā)人員可以使用面向?qū)ο蟮木幊陶Z(yǔ)言(如Java、C#等)直接操作數(shù)據(jù)庫(kù)中的對(duì)象。這種方式提供了更加直觀和便捷的數(shù)據(jù)...詳情>>

2023-10-13 08:42:01
mysql group commit為什么要保證binlog和redo log提交的順序一致?

一、為什么要保證binlog和redo log提交的順序一致MySQL為了保證master和slave的數(shù)據(jù)一致性,就必須保證binlog和InnoDB redo日志的一致性(因?yàn)?..詳情>>

2023-10-13 08:25:24
快速通道
主站蜘蛛池模板: 国产精品欧美一区二区 | 久久国产精品免费一区二区三区 | 黄色一级片视频播放 | 天堂在线视频 | 欧美精品被| 2021狠狠干 | 日本一区二区精品 | 精品日韩在线 | 日韩精品久久 | 色屁屁草草影院ccyycom | 亚洲协和影视 | 亚洲欧美综合精品久久成人 | 久久精品欧美一区二区三区不卡 | 国产精品视频 | 特a级片| 日韩美女中文字幕 | 午夜一级 | 久久精品视频网 | 国产精品久久久久久久久免费高清 | 狠狠色噜噜 | 爆操嫩模| 97视频网址 | 免费黄色毛片视频 | 日韩成人免费 | 国内精品久久久久 | 色婷婷一区二区三区四区 | 91在线免费视频 | 黄色一级毛片 | 久久久久久久久国产 | 日韩精品免费在线视频 | 91夜夜夜 | 亚洲精品电影在线观看 | 第一色站| 久久久久久成人 | 亚洲电影在线看 | 成人国产精品久久久 | 看毛片软件 | 亚洲无限乱码一二三四麻 | 久久精品网 | 在线91| 精品久久久久久久久久久久 |