Почему запрос из PHP идет 10 секунд, а из консоли или навиката тот же запрос — 0.2 сек?
Почему запрос из PHP идет 10 секунд, а из консоли или навиката тот же запрос - 0.2 сек?
Запрос использует
LOWER(column) LIKE LOWER({$var})
База данных - от Битрикса.
На странице не подключается ничего кроме этого запроса.
Через консоль - 0,036 сек
Через PHP скрипт - 10 секунд думает что-то думает думает думает...
Григорий Васильков: пробуйте. однозначно не ответить, поскольку мало инфы.
ну и стоит понимать, что прямой доступ из консоли всегда будет быстрее, чем со стороннего скрипта.
профилируйте запуск и смотрите где затык. может он вообще не в мускуле.
Это Битрикс: это кросс-зависимости, подгрузки модулей, инициализация, ООП, костыли, время на коннект к базе данных, проверка кэширования - это всё пожирает время!
а там выборка из 4 таблиц сразу, и делаеть UNION из 4 таблиц я не знаю рационально ли. там просто подсказки для поиска - а это одновременно значения параметров, значения категорий и значения самих товаров. одновременно как их сортировать грамотно?
Прошу прощения посетившим, решение найдено, но оно никак не было связано с запросом.
Проблема была в пользовательской сортировке usort($arr, function () { return mb_strcasecmp($a,$b); }); - слишком долго происходила
да, я вообще подрубил свой скрипт который использует просто PDO. и та же самая история. Я копирую запросы (их несколько) в навикат, запускаю, через 0,1-0,2 сек все запросы успешные.
Если делаю из скрипта - 10 секунд чето там грузит и ждет.