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