Как mysql будет обрабатывать одновременные записи и чтения? - PullRequest
2 голосов
/ 12 июня 2019

У меня есть два запроса A и B с одним и тем же идентификатором пользователя, которые выполняются одновременно.

Процедура для каждого запроса проста, и в нем проверяется столбец состояния, показывающий, обработан ли запрос и содержит ли значение значение, не обработанное, обновите значение до обработанного и продолжите.

Поскольку запросы A и B имеют одинаковый идентификатор пользователя, они попытаются прочитать и обновить одну и ту же строку.

Мое ожидаемое поведение - запрос A, и B сначала обновит столбец состояния, блокируя обработку оставшегося запроса.

Мне известно, что mysql применяет блокировку на уровне строк, но есть ли вероятность, что оба запроса, поступающие в одно и то же время, будут сначала безопасно читать столбец состояния, а затем обновляться? Затем оба запроса будут считывать статус не обработанным и, следовательно, перейдут к обработке в худшем случае.

Любое понимание будет высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...