Machez
@Machez
Бу!

Как оптимизировать запрос?

Задача такова: нужно проставить полю available значение TRUE всем записям таблицы product, для которых найдется хотя бы одна запись available со значением TRUE в таблице offer. Поле o.product_id является внешним ключом (связь таблиц "один ко многим"). Можно как-то оптимизировать запрос?

UPDATE product SET available = TRUE WHERE id IN 
( SELECT DISTINCT( o.product_id )
	FROM product p
LEFT JOIN offer o 
	ON o.product_id = p.id
WHERE o.available = TRUE );
  • Вопрос задан
  • 274 просмотра
Решения вопроса 1
Machez
@Machez Автор вопроса
Бу!
UPDATE product SET available = TRUE WHERE id IN (SELECT product_id FROM offer WHERE available = TRUE);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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