@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


Может индексы какие нужно добавить или еще чего? Но вроде все стоят сейчас нормально.
  • Вопрос задан
  • 664 просмотра
Решения вопроса 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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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