-1

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 。

4

1 回答 1

0

这似乎是相同的结果,尽管顺序略有不同(因为订购要求未指定)http://sqlfiddle.com/#!2/69972/7

于 2013-09-05T17:26:36.107 回答