为什么加入多个子查询会导致减速?

时间:2013-12-23 02:25:35

标签: mysql sql subquery

现在我正试图这样做:

SELECT salePrice, listPrice, lowestListPrice, lastChange
FROM deals NATURAL JOIN  products

NATURAL JOIN 
(SELECT dealID, MAX(date) as lastChange 
FROM price_history 
GROUP BY dealID) as priceHistory

NATURAL JOIN 
(SELECT productID, MIN(listPrice) as lowestListPrice 
FROM deals 
GROUP BY productID) as listPrices

LIMIT 0, 30

一切都运行良好,直到我尝试添加最后一个连接/子查询。我可以非常快速地运行两个子查询,并且另一个子查询交换它运行正常,但是同时使用它们会导致速度大幅下降。

从最初的研究中,听起来它可能正在为结果集中的每一行运行第二个子查询?不确定。非常感谢任何帮助!

0 个答案:

没有答案