Как правильно сделать асинхронные mysql запросы java

У меня асинхронные запросы к mysql базе на java, но может быть такое, что второй запрос выполнится быстрее первого, а уже потом выполнится первый, что приведет к откату данных, как это можно решить без очереди, ведь очередь будет работать очень медленно, а мне нужно записать максимально быстро. Заранее спасибо


Ответы (1 шт):

Автор решения: Roman Konoval

Если для запросов есть способ установить порядок (например, номер запроса по порядку получения или время запроса), то можно его сохранять в БД и делать условное обновление:

UPDATE test
SET test_value = 5, sequence_number = 6
WHERE sequence_number < 6 and chat_id = 10

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

→ Ссылка