MySQL大表聚合方案_mysql – 从大表中检索聚合数据的更快方法?

几点:

>此外,作为你过滤的唯一谓词你应该

可能有一个以datetime为第一列的索引.

>您按网页浏览排序.我会假设您想按总和(网页浏览量)订购.

>您查询23小时的数据而不是24.您可能希望在第二天的午夜使用明确的小于

SELECT url, sum(pageviews), sum(int_views), sum(ext_views)

FROM news

WHERE datetime >= '2012-08-29 00:00:00'

AND datetime < '2012-08-30 00:00:00'

GROUP BY url

ORDER BY sum(pageviews) DESC

LIMIT 10;

您可以在datetime,url,pageviews,int_views,ext_views上对此进行索引,但我认为这样会有点过分;所以,如果索引的日期时间不是太大,那么url似乎是一个很好的方法.唯一可以确定的方法是对其进行测试,并确定查询中的性能改进是否值得在索引维护中花费额外的时间.

正如Gordon刚刚在评论中提到的那样,您可能需要查看partitioning.这使您可以查询较小的“表”,该表是较大的表.如果您的所有查询都基于日期级别,那么您可能需要每天创建一个新查询.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值