Запрос через PHP выполняется доли секунды, а через phpmyadmin — 15 секунд. Запрос одинаковый, как так?
Сломал себе голову, проблема такая:
Есть много юзеров, есть сложный запрос - если через PHP его запускать (сервер://phpскрипт) то выполняется мгновенно, а если через phpmyadmin (сервер://phpmyadmin) через консоль sql написать тот же запрос (скопировал из вывода php скрипта) то он выполняется 16 секунд. Сначала я думал что это какое-то кеширование в PHP, но юзеров много 5000+ выбираю любого и там везде одно и то же.
При чем mysql лежит не там же где PHP, на другом сервере, но какая разница если phpmyadmin и скрипт на одном сервере.
Поставил галочку профилирование в phpmyadmin: Sending Data 16.6 s - что это такое?
Заходим в тот же phpmyadmin и делаем EXPLAIN запроса. Возможно вам просто MySQL кешированный результат возвращает, а когда запросов много, кэш уже не работает так эффективно так как размеры оного ограниченны.
У меня есть подозрение что EXPLAIN даст вам намеки о том что вы просто не используете индексы.
Steely: EXPLAIN запроса в студию. + пройдитесь профайлером, может быть у вас коннекшен к базе идет долго (dns lookup например). Слишком мало информации.