Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
用 Perl DBI 检测死锁的正确方法是什么?
我应该使用eval { }吗?要捕获哪个异常?
eval { }
答案将取决于 DBMS。
一些 DBMS 可能根本没有发现死锁;您必须在 DB 操作上设置某种超时,如果超时触发,则不清楚 DBI 和相关 DBD 将处于什么状态。
一些 DBMS 会检测到死锁并报告错误,在这种情况下,您或多或少地处理错误,就像处理任何其他错误一样——但“死锁错误”的特殊错误代码处理取决于所使用的特定 DBMS。
我不确定是否还有其他重要的选择。