lock लाई एउटा consistent global क्रममा acquire गर्नुहोस्, transaction छोटो राख्नुहोस्, सुरक्षित हुँदा isolation घटाउनुहोस्, र deadlock भइहाले loser 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)
