Есть несколько серверов.
1. Сервер MySQL.
2. Демон (WebSocket) с постоянным коннектом к MySQL, в основном пишет в базу.
3. Другой демон с постоянным коннектом к MySQL, в основном читает из базы.
Мне нужно на обоих демонах (2 и 3) получать актуальные данные из базы и редактировать их.
Запрос вида "SELECT SUM(x), SUM(y) FROM table;" на первом (2) демоне отдает актуальный результат. На втором (3) демоне этот же запрос отдает старые данные, которые были в базе на момент запуска демона (коннекта к MySQL), т.е. он всегда (в рамках одного подключения) возвращает одни и те же данные, которые на самом деле уже 1000 раз изменились (другим демоном). Поведение похоже на кеш, добавление SQL_NO_CACHE не помогает.
От чего такое может быть и как это исправить? Переподключение к базе для каждого запроса использовать не хотелось бы т.к. в базу идут тысячи записей в секунду. Демоны работают с базой под разными логинами.