Size: a a a

var chat = new Chat();

2021 July 09

VL

Vova Lantsov in var chat = new Chat();
А вообще, может у кого есть интересные применения разных уровней изоляции для транзакций? Хотелось бы поглядеть
источник

VL

Vova Lantsov in var chat = new Chat();
Read uncommitted, read committed, repeatable read, serializable
источник

YM

Yury Morozov in var chat = new Chat();
Ну это зависит от задач
источник

VL

Vova Lantsov in var chat = new Chat();
Не, просто может готовые примеры есть
источник

YM

Yury Morozov in var chat = new Chat();
Ну например тебя пофигу на свежесть данных читаешь анкоммитед
источник

YM

Yury Morozov in var chat = new Chat();
Или например удаляешь слишком много записей херак и табличная блокировка
источник

YM

Yury Morozov in var chat = new Chat();
Все зависит от бизнес задачи
источник

VL

Vova Lantsov in var chat = new Chat();
У меня просто кейс это 2 запроса подряд на удаление из одной и той же таблицы, но с разными инклудами. И я вот думал, как лучше это синхронизировать, если вдруг 2 запроса подряд прилетит. Может быть такое, что первая транзакция уже удалила, и тут вдруг вторая постучалась
источник

YM

Yury Morozov in var chat = new Chat();
А так для гоняния Json руками не трогай и так работает
источник

Ɖ

Ɖrēw in var chat = new Chat();
Поиграться с уровнями изоляции
источник

YM

Yury Morozov in var chat = new Chat();
Ну если это важно для логики повышай изоляцию
источник

Ɖ

Ɖrēw in var chat = new Chat();
Как вариант
источник

YM

Yury Morozov in var chat = new Chat();
Кстати не рекомендую удалять много, чтобы случайно автоматом для табличной не упало
источник

YM

Yury Morozov in var chat = new Chat();
Ну и вообще я уже лет сто не удаляю ничего а просто дизейблю
источник

YM

Yury Morozov in var chat = new Chat();
И таких проблем нет как раз
источник

VL

Vova Lantsov in var chat = new Chat();
Для логики не важно, тут скорее оптимизация - не выполнять лишних действий. Но я пришёл к тому, что удаление будет происходить раз в никогда, грубо говоря, поэтому можно забить на эту оптимизацию и оставить по умолчанию read committed
источник

Ɖ

Ɖrēw in var chat = new Chat();
Кстати. да. софт делит можно сделать тоже
источник

VL

Vova Lantsov in var chat = new Chat();
Очень интересная идея, кстати
источник

YM

Yury Morozov in var chat = new Chat();
Решает кучу проблем как с логикой справочников так и с блокировками
источник

VL

Vova Lantsov in var chat = new Chat();
Я наверное так и сделаю
источник