Kilitleri tutarlı bir global sırayla edinin, transaction'ları kısa tutun, güvenli olduğu yerde isolation'ı düşürün ve bir deadlock hala olduğunda kaybedeni yeniden deneyin. Bir deadlock bir döngüdür: transaction A satır 1'i tutar ve satır 2'yi bekler, B satır 2'yi tutar ve satır 1'i bekler — hiçbiri ilerleyemez, bu yüzden DB birini öldürür.
Kırmanız gereken döngü
Tx A Tx B
holds row 1 ──── waits ────▶ row 2 (held by B)
▲ │
│ waits │ holds
└────────── row 1 ◀────────────┘
(cycle = deadlock; DB aborts one victim)
