Mysql ОБНОВЛЕНИЕ увеличивается - PullRequest
2 голосов
/ 04 сентября 2010

Безопасна ли транзакция приращения MySQL UPDATE для транзакций? Я имею в виду, можно ли попасть в состояние гонки, в то время как многие одновременные клиенты выполняют запросы, такие как «UPDATE table SET field = field + 1»? Если 1000 клиентов будут выполнять такой запрос одновременно, какое значение будет установлено в этом поле, на 1000 больше, чем раньше?

1 Ответ

2 голосов
/ 04 сентября 2010

Да.Каждый оператор Update блокирует либо всю таблицу (MyISAM), либо одну строку (InnoDB), а другие операторы помещаются в очередь до снятия блокировки.

Теперь, если вы выполняете каждый из этих операторов в транзакции, вы можете запуститьв тупик.

...