What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
A database can let ordinary reads and writes overlap by keeping multiple versions of data. A reader gets a consistent snapshot while a writer creates a newer version; neither necessarily has to wait for the other. Transactions and isolation settings determine which changes are visible, while locks coordinate operations that genuinely conflict. The details depend on the database engine.
What happens when someone reads a row as it changes?
Think of a row as having an earlier committed version and a newer version being prepared by a transaction. With multiversion concurrency control (MVCC), the database can preserve the earlier version for a reader whose snapshot calls for it, while the writer works on the newer version. After the write commits, later snapshots can see the new value. This is a conceptual model, not a description of one physical storage design shared by all databases.
A snapshot is a view of the database at a particular point in time. It generally excludes changes that were not committed when the relevant snapshot was established. That lets a query see a coherent state rather than a mixture of values changing midway through its work.
How can reads avoid blocking writes?
MVCC allows many routine reads to use an existing data version instead of waiting for a writer to finish changing another version. PostgreSQL describes this as a key benefit of its concurrency model: query-read locks do not conflict with write locks, so reading does not block writing and writing does not block reading. That statement describes PostgreSQL’s MVCC model, not every operation in every database.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11#1 Best Overall
Some operations do need coordination. Two transactions updating the same data can conflict; a query that asks for a locking read can also contend with other work. Depending on the engine and situation, one transaction may wait, fail and need a retry, or be constrained by a lock. “Read and write at once” means that independent work can overlap, not that all work is lock-free.
What do transactions and isolation levels control?
Transactions group related work
A transaction is a unit of database work. Its reads and writes are handled together under the engine’s transaction rules, including what happens if the work commits or is rolled back. Grouping related operations lets the database manage their visibility and conflicts as a unit.
Isolation levels set visibility rules
An isolation level specifies how a transaction sees concurrent changes and which concurrency anomalies the database prevents. Stronger guarantees can require extra coordination, limiting how much work can proceed concurrently. The names of the standard levels are not a promise of identical behavior across engines.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.How PostgreSQL and MySQL InnoDB differ
PostgreSQL and MySQL’s InnoDB storage engine illustrate why the engine matters. These are examples, not rules for every database.
Rank #3
| Behavior | PostgreSQL 18 | MySQL InnoDB |
|---|---|---|
| Snapshot timing | At READ COMMITTED, each SQL statement sees its own snapshot. At REPEATABLE READ, a transaction works from a stable snapshot. | At REPEATABLE READ, the snapshot for consistent nonlocking reads is established by the transaction’s first such read. |
| READ UNCOMMITTED | Behaves as READ COMMITTED; PostgreSQL does not provide weaker visibility at this setting. | Documented as one of the four standard isolation-level labels. |
| Default isolation level | READ COMMITTED. | REPEATABLE READ. |
| Conflict coordination | Supports explicit lock modes; conflicting operations can require coordination. | Uses row-level locks and locking reads as well as nonlocking consistent reads. |
These settings and behaviors are documented in the PostgreSQL 18 MVCC introduction, PostgreSQL 18 transaction isolation, and PostgreSQL 18 explicit locking. MySQL documents the corresponding InnoDB behavior in InnoDB transaction isolation levels, InnoDB consistent nonlocking reads, and InnoDB transaction model. Consult documentation for the specific engine version and configuration when application behavior depends on exact visibility or locking rules.
Quick Recap
What to remember
- MVCC lets a reader use a suitable version while a writer prepares another, enabling many reads and writes to overlap.
- Transactions and isolation levels define which committed changes a transaction can see and what anomalies it must avoid.
- Conflicting writes and explicit locking reads still need coordination; waiting or retrying can be part of normal operation.
- Isolation-level names and defaults vary by engine, so PostgreSQL and InnoDB should not be treated as interchangeable.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




