Столкнулся с проблемой слишком долгой обработки запроса в Laravel.
Средний запрос с несколькими JOIN выполняется 4-6 секунд. Если выполнить этот запрос напрямую в phpMyAdmin - то он выполняется 0.1 сек. Решил проверить этот же запрос в php_mysql. Создал таблицу с 10ю полями text, заполнил 900 полей.
Выполнил запрос SELECT * FROM table.
В Laravel запрос выполняется 5 сек,
В PHP (mysql_query) - 5.4 сек,
В phpMyAdmin - 0.18 сек.
Что я делаю не так? Или так и должно быть? Естественно использую кэширование, и последующие запросы будут мгновенными, но должен ли первый запрос быть таким ресурсоемким?
в laravel же есть профайлер, нет? Я так понимаю вы время запроса к серверу измеряли, а не к базе.
Если же вы меряли именно время запроса, подозреваю что изза ленивого подключения учитывается еще и время оного. 99% что у вас проблемы с ресолвом DNS. Пропишите в настройки соединения с базой вместо localhost 127,0,0,1