jdbc mysql innodb 死锁 deadlock_MySQL JDBC:InnoDB死锁后是否有自动重试选项?

我发现交易可以安全地重新尝试

死锁并不危险 . 再试一次 . http://dev.mysql.com/doc/refman/5.0/en/innodb-deadlocks.html

在选择了另外两个表的连接组合并在瓶颈表上使用子语句条件以及一些小表之后,有一个“super insert..select”语句插入到瓶颈表中 .

瓶颈是“等待锁定”,它正在等待写锁无疑 . InnoDB似乎非常合适 . (对于写得沉重的表格)这一陈述的犹豫现在都消失了 .

但现在问题出现了:对于语句的每100次执行,由于死锁,其中大约1或2个将失败 . 我相信死锁只发生在“super insert..select”的实例之间 . 我将安装该语句的自动重试,但我想知道

Question: MySQL JDBC是否可以选择在收到异常后打开语句的自动重试,或者我是否必须为此编写自己的代码?

com.mysql.jdbc.exceptions.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction

在这种情况下,我没有启动事务或停止事务命令 . 只是一个“super insert..select”声明

你可能感兴趣的:(jdbc,mysql,innodb,死锁,deadlock)