事务和锁-[通俗易懂]

事务和锁-[通俗易懂]数据库加锁是修改哪一条加锁,还是在页上加锁,还是在表上加锁,数据库来决定 如果你更改的是两条记录,就在两条记录上加锁,如果你更改的是很多条,这个时候数据库一看一条一条加锁太麻烦,给整个页加锁更省事,或

数据库加锁是修改哪一条加锁,还是在页上加锁,还是在表上加锁,数据库来决定

如果你更改的是两条记录,就在两条记录上加锁,如果你更改的是很多条,这个时候数据库一看一条一条加锁太麻烦,给整个页加锁更省事,或者给整个表加锁更加省事

加锁的级别越大,数据库越省事,数据库越省事,并发性越差,修改一条记录如果给表加上独占锁,那么想查询别的记录都查询不了了

加锁的对象越小,并发性越好

加的锁对象越大,并发性越差

刚开始就这几个锁

 事务和锁-[通俗易懂]

1、开启事务修改学生的名字,给学号为0000000001的学生姓名加个‘_01’,事务不提交

事务和锁-[通俗易懂]

 

 事务和锁-[通俗易懂]

2、看到给Student表上的这1行加了独占锁
ObjId:2105058535表示是Student这张表
Type:RID表示是行标识
Resource:1:567:0,表示是第1个数据文件的第576页的第1行
Mode:X表示独占锁
事务和锁-[通俗易懂]

所以如下图查询学号为0000000001的学生,因为这行数据加了独占锁,所以一直查询不出来

事务和锁-[通俗易懂]

 

但是如下图查询学号不为0000000001的学生,就可以查询出来数据了,因为其他行并没有锁

事务和锁-[通俗易懂]

3、开启事务修改学生的名字,给学号对2取余等于0的这1批学生姓名加个_01,事务不提交

事务和锁-[通俗易懂]

 

4、看到给Student表加了独占锁
ObjId:2105058535表示是Student这张表
Type:TAB表示是表
Mode:X表示独占锁

事务和锁-[通俗易懂]

 如下图查询学号不为0000000001的学生或者查询任何数据,因为这个表加了独占锁,所以都不会查询出来

事务和锁-[通俗易懂]

事务和锁-[通俗易懂]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/11013.html

(0)
上一篇 2022-12-18 09:00
下一篇 2022-12-18

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注