Согласованное чтение означает, что для того, чтобы предоставить запросу копию базы данных на текущий момент времени, используется многовариантность таблиц InnoDB. Для запроса доступны лишь те изменения, которые были внесены транзакциями, зафиксированными на этот момент времени, и не доступны изменения, сделанные незафиксированными или проведенными позже транзакциями. Исключением из данного правила могут стать только изменения, внесенные транзакцией, направляющей текущий запрос.
Если вы используете уровень изоляции по умолчанию REPEATABLE READ
, то
все выборки читают снимок, сделанный первым чтением в этой транзакции. Вы
можете получить более свежую копию для своих запросов - для этого следует
зафиксировать текущую транзакцию и направить новые запросы.
Согласованное чтение является режимом по умолчанию, в котором в InnoDB
обрабатываются операторы SELECT
при READ COMMITTED
или
REPEATABLE READ
уровнях изоляции. При согласованном чтении не
устанавливаются блокировки на таблицы, к которым обращается запрос, и,
таким образом, остальные пользователи могут вносить изменения в эти
таблицы одновременно с согласованным чтением таблиц.