Re: Проблема с блокировками
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.02.23 18:58
Оценка:
Здравствуйте, peer, Вы писали:

P>Всем привет.


P>Есть гибридная ef транзакция из примерно 10 инсертов в рамках энтити контекста и одного длинного даппер скл скрипта где идут селекты с апдейтами.


P>так вот из-за даппер скрипта при многопользовательской работе идут блокировки на уровне базы и некоторые сессии убиваются как жертвы.


P>Подскажите какие есть паттерны чтобы длинную транзакцию распилить и при этом сохранить тразакционность?


Мне кажется вы не туда копаете:
1) перепишите запросы, сделайте индексы так, чтобы не было конфликтов блокировок
2) поставьте уровень изоляции read commited snapshot
3) если предыдущие два не помогли, то воспользуйтесь select for update
4) если и он не помог, то ставьте уровень изоляции serializable
5) если serializable слишком жирно и проблема только в этом батче, то используйте app lock
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.