PHP и MySQL — использовать HAVING на счету или нет HAVING и array_filter?

Я хотел бы спросить, есть ли хорошая практика относительно выполнения следующих.

Мой SQL SELECT:

  SELECT avpc.category_id, a.attribute_id, ad.name, a.type, a.sort_order, avpc.attribute_value_id, avd.value, COUNT(pav.product_id) AS product_count
FROM attribute_value_per_category  avpc
JOIN category_path                 cp    ON cp.category_id = avpc.category_id
JOIN attribute_value               av    ON av.attribute_value_id = avpc.attribute_value_id
JOIN attribute_value_description   avd   ON avd.attribute_value_id = av.attribute_value_id AND avd.language_id = 2
JOIN attribute                     a     ON a.attribute_id = av.attribute_id
JOIN attribute_description         ad    ON ad.attribute_id = a.attribute_id AND ad.language_id = 2
JOIN product_attribute_value       pav   ON pav.attribute_value_id = av.attribute_value_id
WHERE path_id = 2
GROUP BY attribute_value_id

Мне нужно добавить условие: HAVING product_count > 10, Я читал, что HAVING очень медленный и нет оптимизации в.

Итак, у меня есть два предложения:

  • Используйте HAVING
  • Не использовать HAVING и отфильтровывать условие в PHP (например, array_filter)

Не могли бы вы дать мне совет по выполнению этой проблемы?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector