以下是需要400秒加載的查詢。我直接嘗試在MySQL中。如果我單獨嘗試子查詢,所有得到執行不到0.01秒。在40秒內查詢所有異能。全體工會在1秒之前執行查詢。mysql查詢需要400秒才能執行
銷售表和銷售表均包含約12K條記錄。這個查詢的目的是當銷售額=銷售表中的子公司時,我需要添加銷售表中與銷售表中的搜索條件相匹配的銷售表中的行。
(
SELECT 'no' AS aff, ss.orderid,ss.saletype,ss.price,ss.salests
FROM sales ss
WHERE 1=1 AND
(ss.vendor='3kpertrade' OR ss.affiliate='3kpertrade')
)
UNION ALL
(
SELECT 'yes' AS aff, sf.orderid,sf.saletype,sf.price,sf.salests
FROM salesaff sf
WHERE sf.vendor=sf.affiliate AND
sf.orderid IN (SELECT ss.orderid from sales ss WHERE 1=1
AND (ss.vendor='3kpertrade' OR ss.affiliate='3kpertrade')
GROUP BY ss.orderid)
)
ORDER BY salests DESC
What Where with Where 1 = 1 business?沒有必要。另外,請格式化您的SQL,以便我們可以讀取它。 –
嘗試沒有按順序的條款,看看它是如何去。 – Koshera
1 = 1將寫入動態查詢,以便我可以從腳本添加AND column = condition。我刪除了1 = 1,並且沒有改變性能。 – user3144629