数据库表死锁的问题

时间:2021-12-27 08:27:11
现如今有个比较严重的问题,比如说A表正在被游戏程序在无休止的调用中,他们是队列在一个个调用,互不影响。
然后,网站管理员登陆了网站后台对这个表的某条字段进行了更改,然后就一挂起了,之后这表就被死锁了,从而导致游戏那把挂了,我网站后台也挂了。

当他在后台对这个表进行UPDATE 等操作的时候,我这边能否知道这个表正在被频繁调用,然后可以提示管理员稍后进行操作。
从而可以避免这个表调用的高峰期

5 个解决方案

#1


我如今在这个表的UPDATE 前面加了 SET LOCK_TIMEOUT 1800; ,但是貌似并没有用

#2


不要过于关注字段, 先关注你这个网管操作时修改的行数。
如果只是修改几行, 而且是根据主键, 死锁的可能性比较小。
把网管修改的SQL 贴出来再说吧

#3


引用 2 楼 yenange 的回复:
不要过于关注字段, 先关注你这个网管操作时修改的行数。
如果只是修改几行, 而且是根据主键, 死锁的可能性比较小。
把网管修改的SQL 贴出来再说吧

这个网站后台就是我写的,这个UPDATE 也是根据数据表的唯一主键进行更改, 而且是单条单条进行更改。

#4


更改处理数据的时候都加上事务,独占这个表数据,其他修改等待释放之后在处理

#5


引用 4 楼 sinat_28984567 的回复:
更改处理数据的时候都加上事务,独占这个表数据,其他修改等待释放之后在处理

只有一个update语句就弄事务吗? 这有点夸张了啊

#1


我如今在这个表的UPDATE 前面加了 SET LOCK_TIMEOUT 1800; ,但是貌似并没有用

#2


不要过于关注字段, 先关注你这个网管操作时修改的行数。
如果只是修改几行, 而且是根据主键, 死锁的可能性比较小。
把网管修改的SQL 贴出来再说吧

#3


引用 2 楼 yenange 的回复:
不要过于关注字段, 先关注你这个网管操作时修改的行数。
如果只是修改几行, 而且是根据主键, 死锁的可能性比较小。
把网管修改的SQL 贴出来再说吧

这个网站后台就是我写的,这个UPDATE 也是根据数据表的唯一主键进行更改, 而且是单条单条进行更改。

#4


更改处理数据的时候都加上事务,独占这个表数据,其他修改等待释放之后在处理

#5


引用 4 楼 sinat_28984567 的回复:
更改处理数据的时候都加上事务,独占这个表数据,其他修改等待释放之后在处理

只有一个update语句就弄事务吗? 这有点夸张了啊