我想優化這個查詢,因爲它運行的數據庫是巨大的,主機說這個查詢導致服務器上的嚴重負載。我已經閱讀了關於如何替換ORDER BY RAND()的其他一些答案,但我並不知道SQL來適應這些特定查詢的答案。誰能幫忙? TIA我如何優化這個SQL查詢與ORDER BY蘭德()
SELECT COUNT(p.prod_id) AS no_prod, s.*
FROM product p, seller s
WHERE s.admin_status = '1'
AND s.pay_status = '1'
AND s.sub_type != ''
AND p.seller_id = s.seller_id
GROUP BY s.seller_id
HAVING COUNT(p.prod_id)>5
ORDER BY RAND()
LIMIT 0, 4
什麼其他問題/答案你讀過?請鏈接? – PenguinCoder 2012-02-23 21:50:12
我不明白這個查詢會如何工作 - 是不是抱怨SELECT中的字段是從GROUP BY中丟失的? – egrunin 2012-02-23 22:12:32
@大部分涉及1個隨機行(LIMIT 1),比檢索4行更容易。第三個涉及多行,但沒有得到確切的答案。 – joshuahedlund 2012-02-23 22:17:52