একটি ধারাবাহিক global order-এ lock অর্জন করুন, transaction ছোট রাখুন, নিরাপদ হলে isolation কমান, এবং একটি deadlock তবুও ঘটলে পরাজিতকে retry করুন। একটি deadlock একটি cycle: transaction A row 1 ধরে এবং row 2-এর জন্য অপেক্ষা করে, যখন B row 2 ধরে এবং row 1-এর জন্য অপেক্ষা করে — কেউই এগোতে পারে না, তাই DB একটিকে হত্যা করে।
যে cycle আপনাকে ভাঙতে হবে
Tx A Tx B
holds row 1 ──── waits ────▶ row 2 (held by B)
▲ │
│ waits │ holds
└────────── row 1 ◀────────────┘
(cycle = deadlock; DB aborts one victim)
