MVCC
在MySQL里,有兩個"視圖"個概念
- 一個是
view,它是一個用查詢陳述句定義的虛擬表,在呼叫的時候執行查詢陳述句并生成結果, - 另一個是
InnoDB在實作MVCC時用到的一致性讀視圖,即consistent read view,用于支持RC(Read Committed,讀提交)和RR(Repeatable Read,可重復讀)隔離級別的實作,
InnoDB里面每個事務有一個唯一的事務ID,叫做transaction id,它是在事務開始的時候向InnoDB的事務系統申請的,是按申請順序嚴格遞增的,
而每行資料也是有多個版本的,每次事務更新資料的時候,都會生成一個新的資料版本,并且把transaction id賦值給這個資料版本的事務ID,記為row trx_id,同時,舊的資料版本要保留,并且在新的資料版本中,能夠有資訊可以直接拿到它,也就是說,資料表中的一行記錄,其實可能有多個版本(row),每個版本有自己的row trx_id,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/67441.html
標籤:PHP
上一篇:全域鎖和表鎖(6)
