Imkite užraktus nuosekliai globalia tvarka, laikykite transakcijas trumpas, mažinkite izoliaciją kur saugu ir kartokite pralaimėtoją, kai deadlock vis tiek įvyksta. Deadlock yra ciklas: transakcija A laiko eilutę 1 ir laukia eilutės 2, o B laiko eilutę 2 ir laukia eilutės 1 — nė viena negali tęsti, tad DB nužudo vieną.
Ciklas, kurį privalote nutraukti
Tx A Tx B
holds row 1 ──── waits ────▶ row 2 (held by B)
▲ │
│ waits │ holds
└────────── row 1 ◀────────────┘
(cycle = deadlock; DB aborts one victim)
