У меня есть около 30 баз данных (на разных машинах) с одинаковой структурой, и я хочу запросить их одним и тем же запросом.
Обычно я подготавливаю соединения, а затем foreach
подключаюсь к каждой базе данных и отправляю запрос, ожидая результата.
Я думал о выполнении этих запросов в параллельных процессах, поэтому вместо ожидания суммирования результатов (т.е. 1 секунда на запрос на сервер) это было бы время самого длинного выполнения запроса.
Сначала я думал о mysqli::poll
/MYSQLI_ASYNC
, но это сильно зависит от mysqli.
Я нашел аналогичный вопрос: асинхронный mysql-запрос PHP, но ему более 3 лет. Может кто нашел другой способ?
Только одно независимое решение, о котором я могу думать прямо сейчас, — это использование pnctl_fork
для разделения запросов на параллельные процессы, а затем сбора данных с использованием общей памяти.
Есть ли какой-либо другой метод в PHP, чтобы обойти его и достичь желаемого результата?