0
好了,我有以下模式和查詢,這是非常慢的(使用真實數據時),因爲ORDER BY的:MySQL的ORDER BY在連接表
http://sqlfiddle.com/#!2/5e7bb/10
按MySQL的人:「您正在連接多個表,並且ORDER BY中的列並非全部來自用於檢索行的第一個非常數表(這是EXPLAIN輸出中沒有常量連接類型的第一個表)。「
但我仍然需要按該列排序。我將如何做到這一點?
好了,我有以下模式和查詢,這是非常慢的(使用真實數據時),因爲ORDER BY的:MySQL的ORDER BY在連接表
http://sqlfiddle.com/#!2/5e7bb/10
按MySQL的人:「您正在連接多個表,並且ORDER BY中的列並非全部來自用於檢索行的第一個非常數表(這是EXPLAIN輸出中沒有常量連接類型的第一個表)。「
但我仍然需要按該列排序。我將如何做到這一點?
UPDATE:因爲小提琴被更新:
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
對不起,第一小提琴錯了..沒有組在那裏... –
而且,我想你的查詢,併爲2x速度較慢然後我有什麼...... :( –
@DanielD你是如何嘗試查詢,如果第一個小提琴是錯的... – Stephan