Задать вопрос

MySQL, оптимизация запроса

Вопрос закрыт, большое спасибо пользователю @edogs.
  • Вопрос задан
  • 2707 просмотров
Подписаться 3 Оценить Комментировать
Ответ пользователя Сергей Протько К ответам на вопрос (5)
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
что делает запрос? Там как я понимаю сейчас логика такая, что берутся 100К строк, это все дело идет домножается на 20К (ибо LEFT JOIN), затем вы группируете по id картинок (подозреваю что так вы проверяете случаи когда у игрушки нету картинки, ибо в любом случае результат счетчика будет либо 0 либо 1, если только id не уникален)... Логика довольно странная. Вам не кажется что можно намного проще?

Что касается условия `b`.`published` = 1, его можно писать в ON у JOIN, тогда проверка будет работать на меньших выборках и вообще вы будете иметь с меньшим количеством рядов. Но мне что-то подсказывает что у вас логика некорректная.
Ответ написан