记一次java项目java锁表的原因,导致执行任务(数据库锁表)期间app用户无法登陆情况

因为项目有个结算金额的情况,在0点时会统计各个用户的金额,在统计期间会造成user表锁表。所以用户到这个统计期间无法登陆APP。

排查。

show engine innodb status\G;

show processlist;

查看那些sql锁表,那些表锁了。

解决。开发重写代码。将调用到锁表的内容都替换成其他参数。如之前user表里的字段user变成user_id。因为APP登陆需要数据库user表。所以重写后,不会在锁这个表

猜你喜欢

转载自blog.csdn.net/qq_40460909/article/details/80393503