Peroleh lock dalam urutan global yang konsisten, kekalkan transaction pendek, turunkan isolation di mana ia selamat, dan retry yang kalah apabila deadlock masih berlaku. Sebuah deadlock ialah satu kitaran: transaction A memegang baris 1 dan menunggu baris 2, sementara B memegang baris 2 dan menunggu baris 1 — tiada satu boleh meneruskan, jadi DB membunuh satu.
Kitaran yang mesti anda putuskan
Tx A Tx B
holds row 1 ──── waits ────▶ row 2 (held by B)
▲ │
│ waits │ holds
└────────── row 1 ◀────────────┘
(cycle = deadlock; DB aborts one victim)
