У меня есть таблица Items
, в которой есть столбец BIT
InProcessing
.
. Есть несколько одновременных рабочих потоков, вытягивающих элементы из таблицы.
Как мне сделатьуверен, что один и тот же элемент не может быть извлечен несколькими работниками, использующими столбец InProcessing
?
Нужно ли использовать уровень изоляции SNAPSHOT и проверять наличие ошибок на UPDATE
?
МожетЯ ухожу без уровня изоляции SNAPSHOT?(SERIALIZABLE, похоже, не работает в этом случае: насколько я вижу, SELECT не блокирует только выбранные строки, поэтому 2 рабочих могут выбрать одинаковые элементы и увидеть их как
InProcessing= 0
перед их обновлением)