1、共享锁 又称读锁 是读取操作创建的锁。其他用户可以并发读取数据,但任何事务都不能对数据进行修改(获取数据上的排他锁),直到已释放所有共享锁。
在查询语句后面增加LOCK IN SHARE MODE,MySQL 就会对查询结果中的每行都加共享锁,当没有其他线程对查询结果集中的任何一行使用排他锁时,可以成功申请共享锁,否则会被阻塞。其他线程也可以读取使用了共享锁的表,而且这些线程读取的是同一个版本的数据。
2、排他锁又称写锁、独占锁,如果事务T对数据A加上排他锁后,则其他事务不能再对A加任何类型的封锁。获准排他锁的事务既能读数据,又能修改数据
在查询语句后面增加FOR UPDATE,MySQL 就会对查询结果中的每行都加排他锁,当没有其他线程对查询结果集中的任何一行使用排他锁时,可以成功申请排他锁,否则会被阻塞。
mysql 共享锁和排他锁的概念
最新推荐文章于 2024-12-17 22:21:29 发布
本文详细介绍了数据库中共享锁(读锁)与排他锁(写锁)的概念及应用。共享锁允许多个事务同时读取数据,但禁止任何事务修改数据;排他锁则确保数据在锁定期间只能被锁定事务读取和修改。通过具体示例说明如何在MySQL中使用LOCK IN SHARE MODE和FOR UPDATE来实现两种锁。
481

被折叠的 条评论
为什么被折叠?



