今天测试环境做性能测试时突然报错了,经排查是数据库执行sql超时。当时执行的sql是这个样子的。

SELECT _nextval('doc_no') FROM DUAL ;

报错如下:
Lock wait timeout exceeded; try restarting transaction

Lock wait timeout exceeded; try restarting transaction

怀疑是否有正在执行的事务没有提交,进行查询。

select * from information_schema.PROCESSLIST a , information_schema.INNODB_TRX b where b.trx_mysql_thread_id=a.id  order by 1 desc

果然有两个正在运行的事务,且状态都是sleep。

在这里插入图片描述

 果断杀掉进程。

kill 33949659   #你的ID 

再次执行sql后问题就解决啦。

转载自:https://blog.csdn.net/weixin_44723434/article/details/88538389

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐