2017-03-23 72 views
0

我是MySQL数据库的新手,并且遇到了表锁定/死锁问题。我们正在运行一个系统,每天都有大量的事务运行,并且发生了某种程度的死锁。如果超过等待超时,我想知道交易发生了什么。他们是否被取消(回滚)?我们是否需要再次手动运行事务,或者应用程序是否在解决死锁后自动重试事务? 我使用MySQL 5.7与Innodb引擎。超过等待超时后,mysql事务会发生什么?

感谢

回答

0

忽略了最低件事DB你使用的是什么,如果你使用的是它只能在成功地提交的事务,即如果u仔细看,在尝试的尽头有一个提交事务命令,你写,除非该行被调用没有更改数据库将被作出因此,你可以放心,它会回滚在超时错误的情况下

+0

是的..我知道这一点。但这里真正的问题是与表锁/死锁有关,并且交易是由我们的系统中的用户运行的。 – Damien

+0

在死锁的情况下它将等到超时之后交易不会发生,尽管您可以使用无锁与它如果它的读者功能 –

相关问题