Ключевые особенности транзакционной изоляции SERIALIZABLE в MySQL:
- Низкая скорость выполнения транзакций. dzen.ru
- Высокая согласованность данных. dzen.ru На этом уровне моделируется последовательное выполнение всех зафиксированных транзакций, как если бы они выполнялись одна за другой, последовательно, а не параллельно. dzen.ru
- Отсутствие фантомного чтения. dzen.ru На уровне изоляции SERIALIZABLE MySQL неявно преобразует все обычные запросы SELECT в SELECT FOR SHARE. github.com Транзакция, удерживающая блокировку SELECT FOR SHARE, позволяет другим транзакциям только ЧИТАТЬ строки, но не ОБНОВЛЯТЬ или УДАЛИТЬ их. github.com
Уровень изоляции SERIALIZABLE используется в основном в специализированных ситуациях, например, при работе с транзакциями XA, а также для устранения проблем с параллельностью и мёртвыми блокировками. dev.mysql.com