Задать вопрос
Allegro75
@Allegro75
SummaryTables.ru - сайт с футбольной статистикой

Почему через phpmyadmin долго, а через php быстро (SQL-запрос с вложенным запросом-условием)?

У меня такая проблема.
При работе через phpmyadmin SQL-запросы вида
SELECT *
FROM `table-1`
WHERE `table-2-id` IN
    (
        SELECT `id` 
        FROM `table-2`
        WHERE `condition` = 'condition-value'
    )

т. е. запросы с вложенным условием-запросом,
выполняются зверски долго, фактически невозможно их дождаться, даже если условие весьма нехитрое, объёмы данных довольно мелкие (тысячи записей, сотни даже, может быть).

При этом если писать такие запросы в коде php, то всё нормально летает.
Но зачастую хотелось бы смотреть данные через phpmyadmin.

С чем это связано, можно ли это решить (условно говоря, нету ли в phpmyadmin некой галочки, которую надо отжать, чтоб делу помочь)?
  • Вопрос задан
  • 146 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Phpmyadmin для select-запросов пытается автоматически добавить LIMIT но сперва выполняет этот же запрос с SQL_CALC_FOUND_ROWS

Попробуйте повторить свой запрос с явно указанным LIMIT на конце
SELECT *
FROM `table-1`
WHERE `table-2-id` IN
    (
        SELECT `id` 
        FROM `table-2`
        WHERE `condition` = 'condition-value'
    ) LIMIT 999999
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы