Предотвращение длительного ожидания в результате большого запроса MySQL в php
У меня сложный запрос MySQL, который отвечает на большой объем данных, в результате страница PHP, которая показывает, что этот ответ получил статус ожидания (DevTools) в течение 2-3 минут, до полной загрузки страницы, и я смог чтобы увидеть содержимое, а пока жду своей пустой страницы...
Существует ли элегантный способ, возможно, нарезать генерацию результата так, как каждая строка будет отображаться на странице перед переходом php-скрипта к следующей строке (в то время как цикл). Это может быть асинхронный запрос jQuery или другое умное и элегантное решение.
Поэтому, наконец, я смогу начать видеть результаты при загрузке страницы, это может занять те же 2-3 минуты загрузки, но каждую секунду (например) я буду видеть еще одну строку, отображаемую на странице, вместо ожидания 2 -3 минуты перед пустой страницей.
PS Я думаю, что это должно работать как ленивая загрузка некоторых изображений или как прокрутка вниз facebook, которая загружает следующие результаты (но без прокрутки)
1 ответ
Вы можете использовать предложение limit в запросе MySQL через каждые пять секунд, вы можете запустить свой код и получить следующие 10 строк на своей странице, используя ajax.