关于mysql事宜死锁的疑问

关于mysql事务死锁的疑问

是这样的,我在程序里关闭了自动提交,然后当两个update语句完成之后,还没有commit

这个时候我拔了我的网线,然后让程序继续运行,然后出错后发现mysql的那句update一直处于等待执行的状态

我想问的是,像这种情况,除了手动杀掉被锁的语句,还有没有其他办法?

这种程序应该是处理不了的吧?那么有没有什么设置可以让mysql过一段时间,比如10秒自动把锁释放呢?



所以,对于C/S构架来说

1, 尽量让一个transaction足够短, 避免在一个transaction中间有交互动作

2, 程序里要有kill process的模块, 让客户自己解决这问题

3, MYSQL/INNODB里有lock-xxx–timeout参数, 可以设置锁表最多分钟, 超过这个值, 会自动rollback.

关于mysql事宜死锁的疑问

相关文章:

你感兴趣的文章:

标签云: