В таблице около миллиона часто изменяемых записей. Какой тип блокировки выбрать?

Число строк само по себе не определяет тип блокировки. Выбор между оптимистическим контролем и пессимистическим lock зависит от конфликтов, длительности операции и защищаемого инварианта.

Короткий ответ

Что ответить на собеседовании

Число строк само по себе не определяет тип блокировки. Выбор между оптимистическим контролем и пессимистическим lock зависит от конфликтов, длительности операции и защищаемого инварианта.

Подробный разбор

Ответ с пояснениями

Число строк само по себе не определяет тип блокировки. Выбор между оптимистическим контролем и пессимистическим lock зависит от конфликтов, длительности операции и защищаемого инварианта.

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее