beba
Новичок
Здравствуйте.
Есть запрос:
может ли такой запрос вызывать блокировку, если запросов может быть много, и выполнятся могут не последовательно, а параллельно.
На данный момент запрос используется в апи, при обновлении баланса клиента. Когда один клиент начинает валить запросами в течении нескольких минут, появляется ошибка Deadlock.
Вот что в момент ошибки выдает INNODB MONITOR OUTPUT.
В активных тразакциях я нигде больше не вижу использования этой таблицы.
Может ли этот запрос вызывать блокировку?
В коде в этой транзакции такие запросы:
Может есть какие то идеи, заранее спасибо.
Есть запрос:
Код:
update Таблица1 set Поле1 = (Поле1 + 1.00), Поле2 = (Поле2 - 1.00) where user_id = 281
На данный момент запрос используется в апи, при обновлении баланса клиента. Когда один клиент начинает валить запросами в течении нескольких минут, появляется ошибка Deadlock.
Вот что в момент ошибки выдает INNODB MONITOR OUTPUT.
Код:
LOCK WAIT 4 lock struct(s), heap size 1248, 2 row lock(s), undo log entries 1
MySQL thread id 2586457, OS thread handle 0x7f58fe4b1700, query id 372940204 127.0.0.1 usr_assistent Updating
ЗАПРОС, КОТОРЫЙ ВЫШЕ
Может ли этот запрос вызывать блокировку?
В коде в этой транзакции такие запросы:
Код:
update Таблица2 set is_calc = 1 where bsr_id = ИД
update Таблица1 set Поле1 = (Поле1 + 1.00), Поле2 = (Поле2 - 1.00) where user_id = ИДЮЗЕРА
insert into Таблица 3 (Поле3,Поле4, Поле5) values (Значение3, Значение4, Значение 5)