MySQL 共享锁与排他锁
来源:互联网 发布:51单片机流水灯原理图 编辑:程序博客网 时间:2024/06/05 08:37
共享锁(Share Lock)
共享锁又称读锁,是读取操作创建的锁。其他用户可以并发读取数据,但任何事务都不能对数据进行修改(获取数据上的排他锁), 直到已释放所有共享锁。
如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。
用法
SELECT ... LOCK IN SHARE MODE;
在查询语句后面增加LOCK IN SHARE MODE,Mysql会对查询结果中的每行都加共享锁,当没有其他线程对查询结果集中的任何一行使用排他锁时,可以成功申请共享锁,否则会被阻塞。其他线程也可以读取使用了共享锁的表,而且这些线程读取的是同一个版本的数据。
排他锁(eXclusive Lock)
排他锁又称写锁,如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的封锁。获准排他锁的事务既能读数据,又能修改数据。
用法
SELECT ... FOR UPDATE;
在查询语句后面增加FOR UPDATE,Mysql会对查询结果中的每行都加排他锁,当没有其他线程对查询结果集中的任何一行使用排他锁时,可以成功申请排他锁,否则会被阻塞。
对于insert、update、delete,InnoDB会自动给涉及的数据加排他锁(X);对于一般的Select语句,InnoDB不会加任何锁,事务可以通过以下语句给显示加共享锁或排他锁。
- 共享锁:
SELECT ... LOCK IN SHARE MODE;
- 排他锁:
SELECT ... FOR UPDATE;
摘自网络
阅读全文
1 2
- MySQL中的共享锁与排他锁
- MySQL中的共享锁与排他锁
- MySQL中的共享锁与排他锁
- MySQL中的共享锁与排他锁
- mysql共享锁与排他锁
- MySQL中的共享锁与排他锁
- mysql中的共享锁与排他锁
- mysql共享锁与排他锁
- mysql中的共享锁与排他锁
- MySQL 共享锁与排他锁
- mysql共享锁与排他锁
- mysql共享锁与排他锁
- mysql共享锁与排他锁
- mysql 共享锁与排他锁
- mysql-共享锁与排他锁
- 共享锁与排他锁
- 共享锁与排他锁
- 共享锁与排他锁
- Java开发常用开源类库
- 应用市场中拦截器和切面的使用
- 两种解决表单重复提交的方式PRG和Token
- TensorFlow中CNN/卷积神经网络算法的理解
- 搭建自己的Webpack项目
- MySQL 共享锁与排他锁
- Android 网络通讯 socket tcp/ip udp http之间的关系
- String类中的equals方法与Object类中equals方法的区别
- Spring解决乱码问题
- 之江学院2017ACM 校赛Problem D: qwb与神奇的序列
- 清除浏览器缓存js文件的几种方法
- 隐因子分解机Factorization Machine
- 为什么虚拟DOM更胜一筹
- Android的四种启动方式