0
此查詢有多個JOIN
包括總功能執行極其緩慢MySQL查詢
執行這個查詢大約6000個用戶用了20秒。
是否有任何其他方法可以更快地運行此查詢?
SELECT users.id, SUM(orders.totalCost) AS bought, COUNT(comment.id) AS commentsCount, COUNT(topics.id) AS topicsCount, COUNT(users_login.id) AS loginCount, COUNT(users_download.id) AS downloadsCount
FROM users
LEFT JOIN orders ON users.id=orders.userID AND orders.status=1
LEFT JOIN comment ON users.id=comment.userID
LEFT JOIN topics ON users.id=topics.userID
LEFT JOIN users_login ON users.id=users_login.userID
LEFT JOIN users_download ON users.id=users_download.userID
WHERE users.id='$userID'
GROUP BY users.id
ORDER BY `bought` DESC
運行的結果解釋
確保您的表格列已正確編制索引。 – PHPglue 2014-09-20 06:35:12
@PHPglue你能解釋一下嗎?或者給我一個例子?我知道主鍵和唯一索引,但我沒有足夠的索引鍵信息 – 2014-09-20 06:39:06
運行EXPLAIN的結果是什麼? – 2014-09-20 07:10:39