处理外部的死锁

在不同数据库服务器上的程序之间也可发生死锁。在此情况下,数据库服务器不可立即检测到死锁。(完善的死锁检测需要在网络中的所有数据库服务器之间大量的通信。)而是每一数据库服务器对于程序可等待的时间量设置一个上限,来在不同的数据库服务器上获得对数据的锁。如果到时间了,则数据库服务器假定发生死锁并返回一个与锁相关的错误代码。

也就是说,当涉及外部的数据库时,每个程序都运行最大锁等待时间。DBA 可为数据库服务器设置或修改该最大值。