perl – 使用DBI检测死锁

使用Perl DBI检测死锁的正确方法是什么?

我应该使用eval {}吗?赶上哪个例外?

最佳答案 答案取决于DBMS.

有些DBMS可能根本没有发现死锁;您必须在数据库操作上设置某种超时,并且如果超时触发,则不清楚状态DBI和相关DBD将处于什么状态.

某些DBMS将检测死锁并报告错误,在这种情况下,您可以像处理任何其他错误一样或多或少地处理错误 – 但“死锁错误”的特殊错误代码处理取决于所使用的特定DBMS.

我不确定是否还有其他重要选择.

点赞