What are alternatives to MVCC in MySQL?

MySQL primarily uses Multi-Version Concurrency Control (MVCC) to manage concurrent access to data, but there are alternatives that can be employed depending on the use case. Here are some alternatives to MVCC in MySQL:

  • Table Locking: This is a simpler method where the whole table is locked for write operations until the transaction is completed, preventing other write operations.
  • Row Locking: MySQL can also use row-level locking with InnoDB, allowing multiple transactions to access different rows in the same table simultaneously.
  • Read Committed Isolation Level: This ensures that any data read is committed at the moment it is read, hence any uncommitted changes made by other transactions are not visible.
  • Optimistic Concurrency Control: In this technique, transactions proceed without locking records and check for changes at commit time, potentially rolling back if conflicts are detected.

In different scenarios, these alternatives can help improve performance and manage contention more effectively than MVCC.


MySQL MVCC alternatives table locking row locking read committed optimistic concurrency