国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

mysql間隙鎖原理 間隙鎖用法?

間隙鎖用法?間隙鎖的作用保證某個間隙內的數(shù)據(jù)在鎖定情況下不會發(fā)生任何變化。比如mysql默認隔離級別下的可重復讀(RR)。當使用唯一索引來搜索唯一行的語句時,不需要間隙鎖定。如下面語句的id列有唯一索

間隙鎖用法?

間隙鎖的作用

保證某個間隙內的數(shù)據(jù)在鎖定情況下不會發(fā)生任何變化。比如mysql默認隔離級別下的可重復讀(RR)。


當使用唯一索引來搜索唯一行的語句時,不需要間隙鎖定。如下面語句的id列有唯一索引,此時只會對id值為10的行使用記錄鎖。


select * from t where id = 10 for update// 注意:普通查詢是快照讀,不需要加鎖

如果,上面語句中id列沒有建立索引或者是非唯一索引時,則語句會產生間隙鎖。

mysql有了間隙鎖只有能夠解決幻讀問題嗎?

不可重復讀:在一個未提交的事務里,二次查詢結果可能不相同,因為在這個事務執(zhí)行過程中,外面的 事務可能對這個數(shù)據(jù)集進行了修改并提交!

幻讀:一個事務在操作過程中!有別的事務對此數(shù)據(jù)集進行了修改并提交,但這些操作第一個事務讀不到,等到這個事務提交的時候,便有可能引起明明插入的數(shù)據(jù)沒有查詢到,但卻出現(xiàn)插入重復的錯誤!

不可重復讀與幻讀的區(qū)別:

不可重復讀是能讀到其它事務已經提交的數(shù)據(jù),幻讀是讀不到其它事務已提交的數(shù)據(jù)!

間隙鎖:間隙鎖主要用來防止幻讀,用在repeatable-read隔離級別下,指的是當對數(shù)據(jù)進行條件,范圍檢索時,對其范圍內也許并存在的值進行加鎖!