采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
加了共享锁的记录,其它事务可以再对这些记录加共享锁,但是这些事务只能查询这些记录,而不能做修改; 加了排它锁的记录,其它事务不可以再对这些记录加排它锁,但是这些事务也只能查询这些记录,而不能做修改; 请问: 那感觉加共享锁或排它锁效果是一样的呀,这里有些迷惑。
参考一下这个帖子,https://www.jianshu.com/p/bd3b3ccedda9
帖子:如果事务T对数据A加上排它锁,只有事务T可以对A进行读取和修改,其他任何事务都不能对A进行读取和修改。 课堂上演示其它事务好像可以对A读取呀。
一个事务对数据不管是加了X锁还是S锁,其它事务都不能对数据进行修改。 我自己测试了一下,有点明白了,总结一下: 1.不管是S锁还是X锁,我们都不能主动加在增删改操作语句上, 所以S锁和X锁是针对查询语句的(查询语句默认没有加锁),如果加了锁,就能保证了一个事务在查询数据时,这些数据不会被其它事务所修改。 2. 如果事务T的查询语句对数据加了S锁,其它事务的查询语句加了S锁能查出数据,但加了X锁就要等到事务T释放S锁了; 如果事务T对数据加了X锁,其它事务的查询语句如果加了锁(x或s锁)就要等待事务T释放了X锁。
登录后可查看更多问答,登录/注册
解锁“新零售”业务让数据库实战能力再上一层楼
1.4k 7
1.5k 4
1.1k 1
1.2k 22
1.2k 12