Hanki lukot yhtenäisessä globaalissa järjestyksessä, pidä transaktiot lyhyinä, laske isolaatiotasoa siellä missä se on turvallista, ja yritä häviäjää uudelleen kun deadlock silti tapahtuu. Deadlock on sykli: transaktio A pitää riviä 1 ja odottaa riviä 2, kun taas B pitää riviä 2 ja odottaa riviä 1 — kumpikaan ei voi edetä, joten DB tappaa toisen.
Sykli, joka sinun on katkaistava
Tx A Tx B
holds row 1 ──── waits ────▶ row 2 (held by B)
▲ │
│ waits │ holds
└────────── row 1 ◀────────────┘
(cycle = deadlock; DB aborts one victim)
