表锁、行锁、间隙锁
作者:互联网
博客所有内容仅供自已学习和学习过程的记录(笔记),如有侵权,请联系我删除!!!
希望屏幕前的你看到对你有帮助你就路过,不喜欢也勿喷,当然如果说的不对也可不吝赐教,谢谢。
以下讲的数据库是指mysql,操作指的是增删改。
行锁:所谓的行锁就是当 A 在操作数据库内的一条数据的时候,B如果也想操作这条数据,那么须等待A操作完成,B 才能操作,这个就称为行锁。这个是数据库给加上的锁,两个操作无法同一时间操作一条数据,必须等一个操作结束之后,另外一个才可以对同一条数据操作。其实我们见名也容易知意,行锁也就是一行数据进行锁定。
表锁:可以使用or等方法将行锁升级为表锁,那么当数据库内的一张表出现行锁的时候,你再去操作这张表内的数据,你只无法操作成功的,因为此时出现表锁。通俗的讲就是整张表都被锁定,你无法对该表进行操作。
间隙锁:所谓间隙锁也就是 A 在操作数据库内的一串数据的期间内,比如数据库内有id为1、3、7、11这四条数据,此时 A 正在把这四条数据进行update,同时 B 想操作id为 5 的数据,那这个是无法操作成功的,因为此时出现了间隙锁,A正在操作该区间内的数据,B 无法操作该区间内的数据的。
标签:间隙,数据库,行锁,操作,表锁,数据 来源: https://www.cnblogs.com/qwg-/p/13430486.html