mySQL ORDER BY в объединенных таблицах
Итак, у меня есть следующая схема и запрос, который очень медленный (при использовании реальных данных) из-за ORDER BY:
Согласно mysql man: "Вы объединяете много таблиц, и столбцы в ORDER BY не все из первой непостоянной таблицы, которая используется для извлечения строк. (Это первая таблица в выводе EXPLAIN, которая не имеет констант присоединяйся.)
но мне все еще нужно отсортировать по этому столбцу. Как мне нужно это сделать?
1 ответ
ОБНОВЛЕНИЕ: так как скрипка была обновлена:
SELECT
cpa.product_id,
cp.product_internal_ref,
cp.product_name,
cpa.product_sale_price,
cpa.is_product_service,
cpa.product_service_price
FROM
catalog_products_attributes cpa
JOIN
catalog_products cp ON cp.product_id = cpa.product_id
WHERE
cpa.product_id IN (
SELECT
product_id
FROM
catalog_products_categories
WHERE
category_id = 41
)
ORDER BY
cpa.product_service_price DESC