Blog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2025 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Bazy danych
Bazy danychhard

Optimistic vs pessimistic locking — jaka jest różnica?

Tagi
#locking#optimistic#pessimistic#concurrency
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

Optimistic locking zakłada rzadkie konflikty: aktualizujesz z kontrolą wersji/timestamp i robisz retry przy konflikcie. Pessimistic locking blokuje wiersze z góry (np. `SELECT ... FOR UPDATE`), żeby inni nie mogli ich zmienić.

SELECT *
FROM accounts
WHERE id = 1
FOR UPDATE;

Powiązane pytania

Bazy danych
Co to jest deadlock w bazie i jak go ograniczać?
#deadlock#locking#transactions
Bazy danych
Co to jest poziom izolacji transakcji (i po co)?
#transactions#isolation#concurrency
PostgreSQL
MVCC w Postgresie: dlaczego odczyty nie blokują zapisów?
#postgres#mvcc#concurrency
Java
HashMap vs ConcurrentHashMap: kiedy używać którego?
#java#collections#concurrency
Java
`synchronized` vs `ReentrantLock`: jakie są różnice?
#java#concurrency#locks
MongoDB
Konflikty zapisu w transakcjach MongoDB: skąd się biorą i jak je obsłużyć?
#mongo#transactions#concurrency