Re[4]: Проблема с блокировками
От: peer  
Дата: 13.02.23 06:58
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, peer, Вы писали:


P>>Здравствуйте, gandjustas, Вы писали:



G>>>Мне кажется вы не туда копаете:

G>>>1) перепишите запросы, сделайте индексы так, чтобы не было конфликтов блокировок

P>>тут есть нюансы. в одном месте delete from products where id = @

P>>а в другом идет
P>>update products where id = @
P>>тут наверное только updlock поможет или read snapshot справится?
G>Видимо да. Потому что при снапшоте будет "кто первый встал, того и тапки", остальные отвалятся.
G>Правда не очень понятно почему приложение параллельно генерирует запросы на обновление и удаление строк, это что за сценарий?

там длинная транзакция с кучей промежуточных расчетов и пока точно непонятно.
но базовая версия, что тесты паралелльно запускаются с разными кейсами, но данные по этой табле одни и те же. Один тест читает, а второй удаляет или апдейтит.
id выше я для простоты написал. там по факту сложный ключ из 3 полей.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.