我有一个像这样的场景;在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