我在MySQL中遭遇了死锁问题。如何配置MySQL,在遇到死锁时自动重新启动事务?
我在MySQL中遭遇了死锁问题。如何配置MySQL,在遇到死锁时自动重新启动事务?
http://dev.mysql.com/doc/refman/5.1/en/innodb-deadlocks.html
手册建议没有这样的配置选项存在。重新启动事务的意思是:
commit
操作。由于数据库引擎无法知道在死锁发生后将执行哪些查询,因此它无法为您重试整个过程(更不用说应用程序逻辑可能会根据新更改的数据库数据执行不同的查询了)。
嗯,你不能这样做,也没有意义。如何处理死锁取决于你的应用程序以及业务逻辑,例如捕获异常、等待几秒钟、重试x次等。