Разница между повторяемым чтением и сериализуемым уровнем изоляции в MySQL заключается в следующем:
- Повторяемое чтение (repeatable read) гарантирует, что один и тот же запрос на выборку всегда будет возвращать один и тот же результат, независимо от того, сколько раз он выполняется, даже если некоторые другие параллельные транзакции зафиксировали новые изменения, удовлетворяющие запросу. 1
- Сериализуемый уровень изоляции (serializable) гарантирует неизменяемость данных другими процессами до завершения транзакции. 34 На этом уровне моделируется последовательное выполнение всех зафиксированных транзакций, как если бы транзакции выполнялись одна за другой, последовательно, а не параллельно. 2
Таким образом, повторяемое чтение предотвращает неповторяющееся чтение, а сериализуемый уровень обеспечивает высокую согласованность данных за счёт моделирования последовательного выполнения транзакций. 2