ëÁÞÁÎÏ×ÓËÉÊ äÍÉÔÒÉÊ wrote:
собственно субж?
дело в том, что мне надо у ряда записей произвести изменение поля (в данном
случае счетчик обращений), вероятность того что две транзакции будут
одновременно менять пересекающиеся наборы данных крайне высока, вот и
возникает вопрос насколько реально нарваться на дидлок
предполагаемый запрос на изменение:
update some_table
set
counter = counter + 1
where id in (<перечень заисей, которые надо изменить>)
например у тразакции тр1 набор значений (1, 2, 3)
а у транзакции тр2 набор (3, 2, 1)
если эти две транзакции начнут изменение одновременно, что произойдет?
дидлок и произойдет. :) и кому-то придется откатится, а другой сможет
коммитнутся.
Роман