本文作者:kris

MySQL 行锁超时排查方法优化-mysql行锁失效

kris 2025-01-13 18:36:05 2
MySQL 行锁超时排查方法优化-mysql行锁失效摘要: mysql插入锁等待超时?等待加锁线程完毕后再执行。 以MyISAM表的表级写锁为例,MySql5.0说得很清楚的: 当一个线程获得对一个表的写锁后,只有持有锁的线程可以对表进行更...

mysql插入锁等待超时?

等待加锁线程完毕后再执行。 以MyISAM表的表级写锁为例,MySql5.0说得很清楚的: 当一个线程获得对一个表的写锁后,只有持有锁的线程可以对表进行更新操作。其他线程的读、写操作都会等待,直到锁被释放为止。

MySQL 行锁超时排查方法优化-mysql行锁失效

图片来源:网络

mysql连接超时怎么处理?

首先,事物内加上其他io访问,例如缓存,rpc,mq等等,是一个很差的实践,因为io堵住的话,事务也会卡住,导致获取到的锁一直不释放。需要在设计的时候,最好提取出来

第二,dubbo是否是同步调用呢,如果是,超时是有异常的,无论是建立tcp连接超时,还是读取响应超时,超时异常都是运行时异常,spring默认是运行时异常回滚的,你看看是否这个异常没被catch

第三,spring和mysql都可以配置事务超时时间,一般mysql上面设置innodb_lock_wait_timeout,只要事务获取了锁,锁超过这个时间(或者等待锁超过这个时间),就会有异常并回滚。

文章版权及转载声明

作者:kris本文地址:https://www.damoyx.com/p/23025.html发布于 2025-01-13 18:36:05
文章转载或复制请以超链接形式并注明出处大漠游侠网

阅读
分享