Можно ли везде ставить Serializable?

Ответ

Можно, но не нужно. Serializable — самый строгий уровень, и он сильно просаживает производительность: транзакции часто конфликтуют и откатываются. Для большинства операций хватает Read Committed.

Разбор: Serializable — самый строгий уровень изоляции: он устраняет все аномалии (грязное, неповторяющееся и фантомное чтение), но дорого обходится из-за усиленных блокировок или частых откатов сериализационных конфликтов. Для большинства задач достаточно Read Committed. Ловушки: Serializable исключает и фантомы, уровнем по умолчанию в большинстве СУБД он не является (обычно это Read Committed), и «без снижения параллелизма» он не работает.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться