A deadlock iseħħ meta żewġ (jew aktar) transazzjonijiet kull wieħed imorr lock li l-ieħor jeħtieġ, u saħansħa waħda ma tistax tipproċedi — huma stuck nistennew lil xulxin b'sempiternu. Id-databases jdetektaw id-deadlocks u jsolviwhom billi jabbortaw transazzjoni waħda (il-"vittma"), li trid tirpprova. L-għarfien tal-kawżi u l-prevenzjoni huwa importanti għal applikazzjonijiet concurrency.
Kif iseħħ deadlock
Transaction A: locks row 1, then wants row 2
Transaction B: locks row 2, then wants row 1
→ A waits for B (to release row 2), B waits for A (to release row 1) → DEADLOCK
Neither can proceed; they're waiting on each other in a cycle.
; ;
accounts .. id; accounts .. id;
accounts .. id; accounts .. id;
