mysql什么情况下死锁_2020-07-08:mysql只有一个表a,什么情况下会造成死锁,解决办法是什么?...

不管啥牌子的表,只是看时间,一般不会死锁。

要调时间的话,只有你一个人调,也不会死锁。

你调时间,别人能看时间,不管准不准,还是不会死锁。

好几个人调时间,要么按顺序调,要么分工,时针秒针分针每个同时只能一个人调,其他人看着,都按规矩来,一样不会死锁。

只要调时间,都会锁,不锁的话,你调了,它跑了,等于白调,但是锁不等于死锁。

什么情况下会死锁?简单啊,你调时间,先要把旋钮拔出来,调好再按下去。如果你没按下去,别人等着继续调,就死锁了呗。

根据你没按下去的原因,死锁分成很多种。比如你拔起这块表的旋钮,又在等另外一个表的旋钮,被某人占着;而这人又等着你这个表的旋钮,被你占着,这就叫交叉锁。

比如你出去收快递了,想着回来按下去,结果自己把自己锁门外了,回不来,这就叫分布式事务锁。

还有一些奇奇怪怪的原因,也会死锁,比如太笨,调了几天几夜也没调好之类的。

如果这块表是MySQL牌的,那就有更多原因死锁了,他们家的表比较奇葩。就算你只想调时针,想着和秒针没关系,其实他家表所有的指针,都是用一个叫索引的东西连着,你不看明白,就有可能引起秒针跟着锁。

最神奇的是MySQL牌的表,当你想把时间调到7点的时候,自己没注意索引特性,它有可能会把从现在到7点之间的时间都锁住,你不经意之间,就把自己锁里面了。就算你以为你知道会锁现在到7点,但是他家的表如果不确定你往左拧还是往右拧,一样会把7点后面的时间也锁住。

解决办法倒也不难:

1、安排好流程,别一窝蜂都来调时间,一个一个来,实在做不到就分工好。

2、每个人调时间,动作快一点,该准备好的提前准备好,别一边调时间,一边等外卖之类的。

3、最好能把调时间这事定个规矩,不需要即刻调整的,就堆一起,一个人负责统一调,别没事就瞎调。

4、自己整明白索引原理,要玩MySQL家的表,一大半精力都是研究索引,因为,你看着是块表,其实就是各种索引套了个壳。

你可能感兴趣的:(mysql什么情况下死锁)