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

        認識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爱免费视频| 2021久久精品国产99国产精品| 亚洲爆乳无码精品AAA片蜜桃| 办公室久久精品| 四虎影永久在线观看精品| 国产精品日韩欧美一区二区三区| 在线精品自拍无码| 欧美精品在线免费| 国产农村妇女毛片精品久久| 四虎精品8848ys一区二区| 99精品视频在线观看re| 久久精品无码专区免费青青 | 曰韩精品无码一区二区三区| 精品一区二区三区免费视频| 99在线观看视频免费精品9| 国产成人亚洲合集青青草原精品 | 亚洲韩精品欧美一区二区三区| 精品国产91久久久久久久a | 精品久久久久久国产潘金莲| 亚洲国产精品无码成人片久久| 亚洲第一永久AV网站久久精品男人的天堂AV | 热综合一本伊人久久精品| 国产精品亚洲αv天堂无码| 国产精品第1页| 在线观看91精品国产入口| 久久精品成人国产午夜| 国产成人久久精品区一区二区| 国产精品久久久久久| 国产精品久久成人影院| 老司机国内精品久久久久| 欧美+亚洲+精品+三区| 久久99国产精品99久久| 欧美黑人巨大精品| 99热亚洲精品6码| 国产亚洲精品看片在线观看| 九九久久精品国产| 久久久久国产日韩精品网站|