Backend Developer
hardoptimistic-vs-pessimistic-locking
Optimistic vs pessimistic locking: what’s the difference?
Answer
**Pessimistic locking** locks rows/resources up front to prevent conflicts.
**Optimistic locking** assumes conflicts are rare; it detects conflicts at commit time (version column/ETag) and retries.
Use pessimistic locking for high-contention updates (inventory). Use optimistic locking for mostly-read, low-conflict workloads (profiles).
Related Topics
DatabasesConcurrencySystem Design