間隙鎖用法?
間隙鎖的作用
保證某個間隙內(nèi)的數(shù)據(jù)在鎖定情況下不會發(fā)生任何變化。比如mysql默認隔離級別下的可重復讀(RR)。
當使用唯一索引來搜索唯一行的語句時,不需要間隙鎖定。如下面語句的id列有唯一索引,此時只會對id值為10的行使用記錄鎖。
select * from t where id = 10 for update;// 注意:普通查詢是快照讀,不需要加鎖
如果,上面語句中id列沒有建立索引或者是非唯一索引時,則語句會產(chǎn)生間隙鎖。
間隙鎖用法?
間隙鎖的作用
保證某個間隙內(nèi)的數(shù)據(jù)在鎖定情況下不會發(fā)生任何變化。比如mysql默認隔離級別下的可重復讀(RR)。
當使用唯一索引來搜索唯一行的語句時,不需要間隙鎖定。如下面語句的id列有唯一索引,此時只會對id值為10的行使用記錄鎖。
select * from t where id = 10 for update;// 注意:普通查詢是快照讀,不需要加鎖
如果,上面語句中id列沒有建立索引或者是非唯一索引時,則語句會產(chǎn)生間隙鎖。