欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql可重復讀隔離級別原理

江奕云2年前8瀏覽0評論

可重復讀隔離級別原理

MySQL是一種開源的關系型數(shù)據(jù)庫管理系統(tǒng),具有很多的隔離級別。本文主要講解MySQL的可重復讀隔離級別原理。

MySQL的鎖機制

MySQL數(shù)據(jù)庫的鎖機制有兩種:共享鎖和排他鎖。共享鎖用于讀取數(shù)據(jù),排他鎖用于修改數(shù)據(jù)。在MySQL的可重復讀隔離級別下,所有讀取的數(shù)據(jù)都會被加上共享鎖,但是這些共享鎖并不會阻止其他事務讀取數(shù)據(jù),只阻止其他事務修改數(shù)據(jù)。

可重復讀隔離級別中的一致性讀

如果在MySQL的可重復讀隔離級別下,一個事務對某一行數(shù)據(jù)加上共享鎖,那么其他事務在此時只能讀取該行數(shù)據(jù)的一個已提交的版本。這種讀取方式就叫做一致性讀。

可重復讀隔離級別如何保證事務的一致性

可重復讀隔離級別下,MySQL會為每個事務開啟一個獨立的讀視圖,也就是說,其他的事務修改數(shù)據(jù)時,該事務所看到的數(shù)據(jù)還是最初讀取的數(shù)據(jù)。這樣就保證了數(shù)據(jù)的一致性。

可重復讀隔離級別下的幻讀問題

幻讀是指在一個事務中,某些行滿足某個搜索條件,但是在此之前或者之后,其他事務插入或者刪除了一些行,這樣在第二次搜索的時候就會發(fā)現(xiàn)有新的或者已經(jīng)刪除的行。幻讀問題在可重復讀隔離級別下也同樣存在。

總結

MySQL的可重復讀隔離級別是為了保證事務的一致性而存在的。當某一事務讀取數(shù)據(jù)時,會將該數(shù)據(jù)加上共享鎖,從而鎖定該數(shù)據(jù)的狀態(tài)。雖然該狀態(tài)不能修改,但是其他事務仍然可以讀取該數(shù)據(jù),這樣就避免了事務之間數(shù)據(jù)讀取的互相干擾。

上一篇mui 和vue
下一篇egg-vue