Число строк само по себе не определяет тип блокировки. Выбор между оптимистическим контролем и пессимистическим lock зависит от конфликтов, длительности операции и защищаемого инварианта.
В таблице около миллиона часто изменяемых записей. Какой тип блокировки выбрать?
Число строк само по себе не определяет тип блокировки. Выбор между оптимистическим контролем и пессимистическим lock зависит от конфликтов, длительности операции и защищаемого инварианта.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Число строк само по себе не определяет тип блокировки. Выбор между оптимистическим контролем и пессимистическим lock зависит от конфликтов, длительности операции и защищаемого инварианта.
При редких столкновениях удобно обновление по version с повтором при конфликте. При высокой конкуренции за одну запись может быть оправдан короткий SELECT FOR UPDATE в транзакции. Нельзя блокировать всю таблицу лишь потому, что в ней миллион строк. Нужны индексы, единый порядок locks и измерение ожиданий.