InnoDB的快照讀

2021-08-27 00:14:01 字數 796 閱讀 5112

有張資料表stu,兩個欄位id和name,id為主鍵

兩個併發事務a和b

事務a:

a1:start transaction;

a2:select * from book.stu;

事務b

b1:start transaction;

b2:insert into book.stu values(5,』lujie』);

b3:commit;

執行的順序:a1,a2,b1,a2,b2,a2,b3,a2

a1:start transaction;

a2:select * from book.stu;

b1:start transaction;

a2:select * from book.stu;

b2:insert into book.stu values(5,』lujie』);

a2:select * from book.stu;

b3:commit;

a2:select * from book.stu;

可以看到事務a的執**況如下圖所示。

圖中的查詢結果只顯示四條記錄,即時事務b已經提交了,但select仍舊查不出最新插入的記錄。只有當事務a也提交後,再次執行select語句,才會查詢到事務b新增的資料。

InnoDB的快照讀,到底和什麼相關?

innodb是非常適合網際網路業務的儲存引擎,其多版本併發控制 multi version concurrency control,mvcc 快照讀 snapshot read 機制,能夠通過讀取回滾段 rollback segment 中資料的歷史版本,在事務讀取記錄的時候不用加鎖,以支援超高的併...

InnoDB的快照讀,到底和什麼相關?

innodb是非常適合網際網路業務的儲存引擎,其多版本併發控制 multi version concurrency control,mvcc 快照讀 snapshot read 機制,能夠通過讀取回滾段 rollback segment 中資料的歷史版本,在事務讀取記錄的時候不用加鎖,以支援超高的併...

InnoDB的快照讀,到底和什麼相關?

innodb是非常適合網際網路業務的儲存引擎,其多版本併發控制 multi version concurrency control,mvcc 快照讀 snapshot read 機制,能夠通過讀取回滾段 rollback segment 中資料的歷史版本,在事務讀取記錄的時候不用加鎖,以支援超高的併...