InnoDB的四種隔離級別

2021-08-28 12:29:02 字數 500 閱讀 2421

google所得

總結:併發事務會互相受影響,可能會導致事務產生

為了解決此類問題,innodb實現了sql92的四種標準:

讀未提交:select未加鎖,可能會產生髒讀(一致性最差,併發性最差)

讀提交(rc): 普通select快照讀,對select/insert/update使用記錄鎖,可能會產生不可重複讀

可重複讀(rr): 普通的select快照讀,對select/insert/update根據條件查詢情況,會使用記錄鎖或間隙鎖和臨時鎖,以免讀取到幻影記錄

序列化:select隱式轉化為select ... in share mode,會被update與delete互斥(一致性最好,併發性最差)

innodb預設的是rr,使用最多的是rc 在網際網路大資料,高併發量的場景下,幾乎用不到序列化與讀未提交

innodb 四種隔離級別

read uncommitted,read committed,repeatable read,serializable.預設隔離級別是repeatable read 特性1.一致性讀的方式是在第一次讀時建立快照 特性2.在鎖定讀 update delete時,加鎖方式依賴於查詢的方式,即是否是根據...

四種隔離級別

簡單地介紹一下四種隔離級別 read uncommtted 未提交讀 在read uncommitted級別,事務中的修改,即使沒有提交,對其他事務也都是可見的。事務可以讀取未提交的資料,這也被稱為髒讀。這個級別會導致 很多問題,從效能上來說,read uncommitted不會比其他級別好太多,但...

MySQL四種隔離級別

在sql標準中定義了四種隔離級別,每一種級別都規定了乙個事務中所做的修改,哪些是在事務內和事務間可見的,哪些是不可見的。較低階別的隔離通常可以執行更高的併發,系統的開銷也更低。未提交讀 read uncommitted 在未提交讀級別,事務中的修改,即使沒有提交,對其他事務也都是可見的。事務可以讀取...