我遇到了一个特定查询的查询执行速度极慢(如下所示).
奇怪的是,当手动运行查询(使用phpMyAdmin)时,只需要一秒钟即可完成,而使用PDO从PHP运行它需要大约10分钟!
其他查询正常执行(PDO和phpMyAdmin之间的持续时间相等).
技术细节:
>我正在使用谷歌的AppEngine&云SQL.
>运行PHP5.5
>执行php代码的app引擎实例不忙.
>查询结果大约有10,000行
我正在运行的查询:
SELECT s.saleID,s.year,s.kilometrage,s.hand,s.price,s.pictures,u.platform,s.date,
(SELECT AVG(price) FROM sales s2 WHERE s2.carID = s.carID AND s2.year = s.year HAVING COUNT(s2.saleID)>5) AS avgPrice
FROM sales s JOIN users u ON u.ID = s.sellerID LEFT JOIN sold so ON s.saleID = so.saleID WHERE so.saleID IS NULL
关于这个问题的任何提示?它与索引无关,因为查询在phpMyAdmin下运行得非常好.
编辑
如果有人也有这个 – 似乎PMA在查询的分页上添加了一个隐含的LIMIT,这使得在某些情况下一切运行得更快.