Aklavietė atsiranda, kai dvi (arba daugiau) transakcijos kiekviena laiko fechą, kurios reikalinga kitai, todėl nei viena negali tęsti — jos застревают laukdamos viena kitos amžinai. Duomenų bazės aptinka aklavietės ir jas išsprendžia nutraukiant vieną transakciją ("aukos"), kuri turi iš naujo bandyti. Suprasti priežastis ir prevenciją yra svarbu konkuruojančioms aplikacijoms.
Kaip susidaro aklavietė
Transaction A: locks row 1, then wants row 2
Transaction B: locks row 2, then wants row 1
→ A waits for B (to release row 2), B waits for A (to release row 1) → DEADLOCK
Neither can proceed; they're waiting on each other in a cycle.
; ;
accounts .. id; accounts .. id;
accounts .. id; accounts .. id;
