亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在innodb的讀未提交的隔離級別下,mvcc的行為?

在innodb的讀未提交的隔離級別下,mvcc的行為?

眼眸繁星 2018-07-17 14:06:37
注意我們現在的隔離級別是讀未提交,即最低的隔離級別。這種級別下會出現臟讀,A事務修改了一行數據,但在未提交的情況下,這一行數據被A事務以外的行為,簡稱為F,這個F可能是B事務,也或者是簡單的非事務類型的select,給讀取了,然后A事務進行了回滾,則F讀到的是臟數據。現在看來一切都很通暢。但是我有一點疑惑,我們知道,innodb下簡單的select都是快照讀(MVCC提供),那么上面F所做的應該也是快照讀,難道當A事務修改完那一行數據之后就立刻進行了快照?否則F怎么會讀到A事務對那一行修改完的那個版本呢?應該是F讀到A對那一行修改前的版本吧?多問一句,innodb只要在那一行數據的鎖被釋放之后就會進行快照?快照是如何被觸發的?
查看完整描述

3 回答

?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

你先好好的理解下事務的4個隔離級別概念,然后在了解下快照概念即可,一般來說,如果你了解透隔離級別的,就知道怎么操作了,不用你想的那么麻煩

查看完整回答
反對 回復 2018-07-20
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

上面F所做的應該也是快照讀,難道當A事務修改完那一行數據之后就立刻進行了快照?否則F怎么會讀到A事務對那一行修改完的那個版本呢?應該是F讀到A對那一行修改前的版本吧?

F讀到的數據是A事務開始前的快照,A事務在未完成前的更新操作,對其他connection的F是不可見的,如果F也更新,需要等待A事務結束


查看完整回答
反對 回復 2018-07-20
  • 3 回答
  • 0 關注
  • 779 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號