Optimistic Locking
UPDATE items SET qty=qty-1, version=version+1
WHERE id=123 AND version=5;
-- 영향받은 행이 0이면 충돌 → 재시도Pessimistic vs Optimistic
- Pessimistic — SELECT FOR UPDATE, 락 선점
- Optimistic — 충돌 감지·재시도
버전 번호·타임스탬프로 충돌을 감지·재시도하는 락 없는 동시성 제어.
UPDATE items SET qty=qty-1, version=version+1
WHERE id=123 AND version=5;
-- 영향받은 행이 0이면 충돌 → 재시도