Задавайте вопросы, мы ответим
Вы не зашли.
Доброго времени суток.
Вот несколько сокращенная структура моего запроса:
Неактивен
Что дает EXPLAIN запроса с сортировкой и без?
Неактивен
с сортировкой
Отредактированно jumanji (27.03.2012 13:31:56)
Неактивен
Попробуйте добавить индекс на special_champ.
Неактивен
добавление индекса на special_champ не помогло.
Поясните, пожалуйста, про составной KEY
Неактивен
Про составные индексы см. http://sqlinfo.ru/forum/viewtopic.php?id=151
Учитывая, что у Вас всего 6 строчек во внешней таблице, это вряд ли основная проблема. А что если выполнить 6 раз вложенный запрос? Еще попробуйте переписать весь запрос через JOIN, вместо подзапроса.
Неактивен
Нет, во внешней таблице у меня не 6 строк. Я имел ввиду то, что результатом вот этого запроса
Неактивен
Я имел в виду, что 6 строк с условием special_champ=1. Значит можно просто выполнить внутренний запрос 6 раз - как 6 отдельных запросов.
Неактивен
А, ясно.
Ну да, именно к этому я и начал склоняться. Вы имеете ввиду, разбить сложный запрос на два запроса и внутренний запрос сформировывать с помощью php?
Кстати, внутренний запрос выполняется всего за 0.094 секунды.
Неактивен
Да, внутренний можно выполнять в цикле из PHP. Скорее всего вы стали жертвой неоптимальности работы подзапросов в MySQL. Альтернатива - переписать весь запрос через JOIN вместо подзапроса.
Неактивен
В итоге реализовал в виде двух запросов.
Спасибо за помощь.
Неактивен