因为项目有个结算金额的情况,在0点时会统计各个用户的金额,在统计期间会造成user表锁表。所以用户到这个统计期间无法登陆APP。
排查。
show engine innodb status\G;
show processlist;
查看那些sql锁表,那些表锁了。
解决。开发重写代码。将调用到锁表的内容都替换成其他参数。如之前user表里的字段user变成user_id。因为APP登陆需要数据库user表。所以重写后,不会在锁这个表
因为项目有个结算金额的情况,在0点时会统计各个用户的金额,在统计期间会造成user表锁表。所以用户到这个统计期间无法登陆APP。
排查。
查看那些sql锁表,那些表锁了。
解决。开发重写代码。将调用到锁表的内容都替换成其他参数。如之前user表里的字段user变成user_id。因为APP登陆需要数据库user表。所以重写后,不会在锁这个表