mysql共享锁与排它锁

Posted 奔跑的大白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql共享锁与排它锁相关的知识,希望对你有一定的参考价值。

共享锁shared lock(也叫读锁read lock)
又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。共享锁不阻塞共享锁,阻塞排它锁

排他锁exclusive lock(也叫writer lock)
又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。排它锁会阻塞所有的排它锁和共享锁

读取为什么要加读锁呢:防止数据在被读取的时候被别的线程加上写锁



以上是关于mysql共享锁与排它锁的主要内容,如果未能解决你的问题,请参考以下文章

共享锁与排它锁区别(转)

锁的总结

锁的总结

SQL Server中锁与事务隔离级别

MySql共享锁和排它锁

MySQL InnoDB存储引擎排它锁和共享锁的研究