我有一個像這樣的場景;在MySQL中非常緩慢的查詢
我有一個名爲 「tbl_gust_comb_archve_01nov11_beyond
」
索引鍵在這些領域 「Gid
,gip
,siteid
,kw
,kwtype
,dt
,gpage
,dated
」
而且
此設置表是我的查詢:
SELECT SQL_CALC_FOUND_ROWS
gid, gip, siteid, kw, kwtype, dt, count(id) as vpage, sum(mapped) as mapped
FROM
tbl_gust_comb_archve_01nov11_beyond
WHERE
confirmation = 1
AND
dated BETWEEN '2012-01-31' AND '2012-01-31'
AND
siteid = 'bing'
GROUP BY gid
ORDER BY dt
DESC LIMIT 0,50
如果您將日期設置爲一個範圍,例如'2012-01-31' AND '2012-02-01'
那麼結果將花費較長的時間10-30分鐘。
如果你有一個日期範圍,並刪除「GROUP BY
」,那麼結果會更快(約5分鐘)。雖然!刪除GROUP BY
後,5分鐘也太多了......
表格大小是「30mill記錄和12Gig」。
謝謝!
有你試着用EXPLAIN運行這些查詢?這應該永遠是你在這種情況下的第一步 – 2012-02-10 10:35:11