站長資訊網
        最全最豐富的資訊網站

        認識InnoDB MVCC如何工作

        認識InnoDB MVCC如何工作

        InnoDB 的 MVCC,是通過在每行記錄后面保存兩個隱藏的列實現的。這兩個列,一個保存了行的創建時間,一個保存行的過期時間(或刪除時間)。當然存儲的不是實際的時間值,而是系統版本號。每開始一個新的事務,系統版本號都會自動遞增。事務開始時刻的系統版本號會作為事務的版本號,用來和查詢到的每行記錄的版本號進行比較,下面看可重復讀隔離級別下,MVCC 具體是如何操作的。

        SELECT

        InnoDB會根據以下兩個條件檢查每行記錄

        a. InnoDB只查找版本早于當前事務版本的數據行(也就是,行的系統版本號小于或者等于事務的系統版本號),這樣可以確保事務讀取的行,要么是在事務開始前已經存在的,要么是事務自身插入或者修改過的。

        b. 行的刪除版本要么未定義,要么大于當前事務版本號。這可以確保事務讀取到的行,在事務開始之前未被刪除。

        只有符合上述兩個條件的記錄,才能作為查詢結果返回。

        INSERT

        InnoDB為新插入的每一行保存當前系統版本號作為行版本號

        DELETE

        InnoDB為刪除的每一行保存當前系統版本號作為行刪除標識。

        UPDATE

        InnoDB為插入一行新紀錄,保存當前系統版本號作為行版本號,同時保存當前系統版本號到原來的行作為行刪除標識。

        保存這兩個額外系統版本號,使大多數讀操作都可以不用加鎖。這樣設計使得讀數據操作很簡單,性能很好,并且也能保證只會讀取符合標準的行。不足之處是每行記錄都需要額外的存儲空間,需要做

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲精品中文字幕乱码三区| 亚洲精品人成无码中文毛片| 精品国产青草久久久久福利| 精品无码一区二区三区爱欲| 精品国产午夜福利在线观看| 久久国产乱子精品免费女| 亚洲av永久无码精品秋霞电影影院 | 国产精品 综合 第五页| 国产成人精品一区二区秒拍| 亚洲精品无码专区2| 国内精品久久久久久久coent| 日韩精品国产自在久久现线拍| 国产精品视频一区二区噜噜| 中文字幕精品亚洲无线码一区| 久久国产精品视频| 国产高清在线精品一本大道国产 | 97久久超碰成人精品网站| 亚洲αv在线精品糸列| 区亚洲欧美一级久久精品亚洲精品成人网久久久久| 91精品国产麻豆国产自产在线| 国内精品手机在线观看视频| 99爱在线精品免费观看| 国产午夜精品免费一区二区三区| 亚洲精品成人片在线播放| 亚洲情侣偷拍精品| 一级A毛片免费观看久久精品| 亚洲第一永久AV网站久久精品男人的天堂AV | 日韩精品一区二区三区色欲AV| 在线亚洲精品自拍| 一本大道无码日韩精品影视| 亚洲精品无码专区在线播放 | 人妻少妇精品中文字幕AV| 亚洲αv在线精品糸列| 婷婷精品国产亚洲AV麻豆不片| 亚洲国产精品无码久久| 人妻少妇精品中文字幕AV| 精品免费久久久久久久| 999久久久无码国产精品| 欧美国产日本精品一区二区三区| 色花堂国产精品第一页| 国产69精品久久久久99尤物|