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

        認識InnoDB MVCC如何工作

        認識InnoDB MVCC如何工作

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

        SELECT

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

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

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

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

        INSERT

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

        DELETE

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

        UPDATE

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

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

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 免费精品国产自产拍在线观看| 真实国产精品vr专区| 99热热久久这里只有精品68 | 久久国产精品成人片免费| 国产精品成人小电影在线观看| 精品一区二区三区在线成人| 日韩精品一二三区| 国产欧美日韩综合精品一区二区三区 | 精品无码专区亚洲| 极品精品国产超清自在线观看| 无码日韩精品一区二区免费暖暖| 久久无码精品一区二区三区| 99久久国产综合精品成人影院| 91麻豆精品国产自产在线观看一区 | 久久精品国产99久久无毒不卡| 香港aa三级久久三级老师2021国产三级精品三级在 | 无码人妻精品一区二区三区在线| 久久精品无码一区二区三区免费| 国产成人精品a视频一区 | 国产免费久久精品99久久| 久久91精品国产91久久小草| 久久久久99精品成人片试看| 中文字幕久久精品无码| 青青青青久久精品国产h久久精品五福影院1421 | 青青热久久国产久精品 | 国产91在线精品| 99久久伊人精品综合观看| 极品精品国产超清自在线观看| 99爱在线精品免费观看| 国产精品看高国产精品不卡| 国内精品久久久久影院优| 精品国产v无码大片在线观看| 久久久久久亚洲Av无码精品专口 | 亚洲精品无码AV中文字幕电影网站| 久久噜噜久久久精品66| 蜜臀久久99精品久久久久久| 久久精品国产亚洲精品| 免费精品精品国产欧美在线| 欧美成人精品网站播放 | 日韩精品一区二区三区中文字幕| 精品一区二区三区色花堂|