MySQL 8.0 Release Notes
MySQL 8.0 Source Code Documentation
[+/-]
In the InnoDB
transaction model, the goal is to
combine the best properties of a
multi-versioning database with
traditional two-phase locking. InnoDB
performs
locking at the row level and runs queries as nonlocking
consistent reads by
default, in the style of Oracle. The lock information in
InnoDB
is stored space-efficiently so that lock
escalation is not needed. Typically, several users are permitted
to lock every row in InnoDB
tables, or any
random subset of the rows, without causing
InnoDB
memory exhaustion.