Уровень изоляции - Сериализуемый. Когда мне следует использовать это?

Я понимаю, что уровень изоляции Serializable является наиболее ограничительным из всех уровней изоляции. Мне любопытно, какие приложения требуют такого уровня изоляции или когда я должен рассмотреть возможность его использования?

40
задан Benjamin 24 June 2016 в 16:38
поделиться

2 ответа

Задайте себе следующий вопрос: Будет ли плохо, если кто-то введет новую строку в ваши данные во время выполнения транзакции? Будет ли это неприемлемым образом влиять на ваши результаты? Если да, то используйте уровень SERIALIZABLE.

Из MSDN относительно SET TRANSACTION ISOLATION LEVEL:

SERIALIZABLE

Накладывает блокировку диапазона на набор данных, не позволяя другим пользователям обновлять или вставлять строки в набор данных пока транзакция не будет завершена. Это самый ограничительный из четырех уровней изоляции. Поскольку параллельность ниже, используйте этот параметр только в случае необходимости. Эта опция имеет тот же эффект, что и установка HOLDLOCK на всех таблиц во всех операторах SELECT в транзакции.

Таким образом, ваша транзакция сохраняет все блокировки на протяжении всего времени своего существования - даже те, которые обычно отбрасываются после использования. Это создает впечатление, что все транзакции выполняются по одной, отсюда и название SERIALIZABLE. Примечание из Википедии относительно уровней изоляции:

SERIALIZABLE

Этот уровень изоляции указывает, что все транзакции происходят в полностью изолированно; т.е., как если бы все транзакции в системе выполняются последовательно, одна за друг за другом. СУБД может выполнять две или более транзакций в одно и то же время только в том случае, если иллюзия последовательного выполнения может быть сохранена.

49
ответ дан 27 November 2019 в 01:49
поделиться

Попробовать учет. Транзакции в учетных записях по своей сути сериализуемы, если вы хотите иметь правильные значения учетной записи И придерживаться таких вещей, как кредитные лимиты.

3
ответ дан 27 November 2019 в 01:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: