ORDER BY會將我的查詢放慢抓取速度。MySQL使用SELECT *包裝查詢很慢
在通過StackOverflow嘗試解決此問題時,我發現有幾個references用'SELECT *'來包裝查詢。由於某些深不可測的原因,這也會使我的查詢變慢。
我不明白如何用這種方式包裝我的查詢應該有任何效果。 SELECT * FROM(QUERY)不應與QUERY相同嗎?
這是我的查詢:
SELECT W.NDB_No, Seq, Gm_Wgt*Nutr_Val/100
FROM WEIGHT AS W,
(SELECT NDB_No, Nutr_No FROM FOOD_DES, NUT ORDER BY nutrEnum) AS A
LEFT JOIN
NUT_DATA AS B
ON A.NDB_No = B.NDB_No AND A.Nutr_No = B.Nutr_No;
它需要0.8秒。用SELECT * FROM (...) AS X
包裝此查詢會極大地降低查詢速度。這裏發生了什麼?此外,任何幫助獲得ORDER BY的工作將不勝感激(可能是一個相關的問題)。請參閱SQL小提琴here。
有沒有'ORDER BY'在此查詢,是嗎? – tadman
一如既往 - 檢查解釋計劃 – Randy
@tadman:不,還沒有,但這就是我要去的地方。現在,我很困惑爲什麼用SELECT *包裝查詢會改變速度。我的意思是,這是同一個查詢! – ishmael