Lukitusriistiriitta tapahtuu, kun kaksi (tai useampi) transaktio hallitsee lukitusta, jota toinen tarvitsee, joten kumpikaan ei voi edetä — ne jäävät odottamaan toisiaan ikuisesti. Tietokannat havaitsevat lukitusristiriidat ja ratkaisevat ne keskeyttämällä yhden transaktion ("uhrin"), jonka on yritettävä uudelleen. Aiheuttajien ja ehkäisystrategioiden ymmärtäminen on tärkeää samanaikaisissa sovelluksissa.
Kuinka lukitusriistiriitta syntyy
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.
