Индексы не влияют на блокировку. Обратите внимание, что каждая операция записи также должна изменять индексы. Это может иметь проблемы с производительностью, но не должно влиять на блокировку. Если в вашей таблице только 1000 строк, вы можете удалить свои индексы. Итерация по log1000 не намного быстрее, чем итерация по 1000 строк.
This table is read and written frequently but it would rarely have more than a few hundred rows it.
Блокировка строк - обычная ситуация. Иногда может случиться и тупик. Ваш поставщик БД обрабатывает тупик? Это должно выпустить это само. Вероятно, происходит блокировка, потому что вы пытаетесь обновить строки в порядке A, B в 1 переводе, а вторая транзакция обновляет строки в порядке B, A.