Задать вопрос
@Kostik_1993
Web Developer

Как ускорить MySQL запрос с JOIN LEFT?

Подскажите кто знает пожалуйста, как можно перестроить запрос, чтоб он выполнялся быстрее. Сейчас при небольших объемах он занимает 0.15сек Это очень долго
SELECT
        p.*, ph.img_server, 
        make.name_make, 
        model.name_model,
	IFNULL(ph.name_img, 'empty') name_img,
	IFNULL(ph.img_server, 'server1.ru') img_server
FROM car_sale p
	LEFT JOIN car_sale_img ph
		ON ph.id_car_sale = p.id_car_sale
		AND ph.main_photo = 1
	LEFT JOIN make
		ON make.id_make = p.id_make
	LEFT JOIN model
		ON model.id_model = p.id_model


Может индексы какие нужно добавить или еще чего? Но вроде все стоят сейчас нормально.
  • Вопрос задан
  • 666 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
zualex
@zualex
Senior Software Engineer
Проверьте тип полей (нужен INT) и есть ли index-ы у:
- ph.id_car_sale
- p.id_car_sale
- ph.main_photo
- make.id_make
- p.id_make
- model.id_model
- p.id_model
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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