Pridobivajte locke v konsistentnem globalnem vrstnem redu, ohranjajte transakcije kratke, znižajte izolacijo, kjer je varno, in ponovite poraženca, ko do deadlocka vseeno pride. Deadlock je cikel: transakcija A drži vrstico 1 in čaka na vrstico 2, medtem ko B drži vrstico 2 in čaka na vrstico 1 — nobena ne more napredovati, zato DB ubije eno.
Cikel, ki ga morate prekiniti
Tx A Tx B
holds row 1 ──── waits ────▶ row 2 (held by B)
▲ │
│ waits │ holds
└────────── row 1 ◀────────────┘
(cycle = deadlock; DB aborts one victim)
