ORDER BY 使我的查询慢下来。
在挖掘 StackOverflow 试图解决这个问题时,我发现了几个使用 '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 Fiddle 。