百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql什么状况下会死锁
分享文章到:

mysql什么状况下会死锁

发布时间:08/01 来源:未知 浏览: 关键词:
所谓死锁<DeadLock>:是指两个或两个以上的进程在施行历程中,因争夺资源而造成的一种互相称待的现象,若无外力作用,它们都将没法推动下去.此时称系统处于死锁状态或系统发生了死锁,这些永远在互相称待的进程称为死锁进程。 mysql中死锁:是指两个或两个以上的进程在施行历程中,因争夺资源而造成的一种互相称待的现象,若无外力作用,它们都将没法推动下去.此时称系统处于死锁状态或系统发生了死锁,这些永远在互相称待的进程称为死锁进程。表级锁不会发生死锁.所以解决死锁主要还是针关于最常用的InnoDB。

举荐课程:MySQL教程。

 例如(下列会话id为主键):
 
Session1:
 
mysql> select * from t3 where id in (8,9) for update;
+----+--------+------+---------------------+
| id | course | name | ctime               |
+----+--------+------+---------------------+
|  8 | WA     | f    | 2016-03-02 11:36:30 |
|  9 | JX     | f    | 2016-03-01 11:36:30 |
+----+--------+------+---------------------+
rows in set (0.04 sec)
 
 
Session2:
select * from t3 where id in (10,8,5) for update;
锁期待中……
 
其实这个时候id=10这笔记录没有被锁住的,但id=5的记载已经被锁住了,锁的期待在id=8的这里
不信请看
 
Session3:
mysql> select * from t3 where id=5 for update;
锁期待中
 
 
Session4:
mysql> select * from t3 where id=10 for update;
+----+--------+------+---------------------+
| id | course | name | ctime               |
+----+--------+------+---------------------+
| 10 | JB     | g    | 2016-03-10 11:45:05 |
+----+--------+------+---------------------+
row in set (0.00 sec)
 
 
在其它session中id=5是加不了锁的,但是id=10是可以加上锁的。

以上就是mysql什么状况下会死锁的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板