Как правильно сделать асинхронные mysql запросы java
У меня асинхронные запросы к mysql базе на java, но может быть такое, что второй запрос выполнится быстрее первого, а уже потом выполнится первый, что приведет к откату данных, как это можно решить без очереди, ведь очередь будет работать очень медленно, а мне нужно записать максимально быстро. Заранее спасибо
Ответы (1 шт):
Автор решения: Roman Konoval
→ Ссылка
Если для запросов есть способ установить порядок (например, номер запроса по порядку получения или время запроса), то можно его сохранять в БД и делать условное обновление:
UPDATE test
SET test_value = 5, sequence_number = 6
WHERE sequence_number < 6 and chat_id = 10
Тогда более старый запрос попросту ничего не обновит, так как его условие на порядковый номер отфильтрует более новую запись.