大量数据统计设计问题

0
我有一个数据库表记录了用户每次登陆系统的用户名,登陆时间,登陆IP和登陆时间。
现在要做一个统计,就是每个用户的总登陆时间,平均登陆时间,登陆次数。当数据表累计100万条数据的时候,系统统计的相当慢
还有要统计的是
(1)一年内每天的用户总登陆时间,平均登陆时间,登陆次数
(2)一天每小时总登陆时间,平均登陆时间,登陆次数
这样的统计几乎不动了,大家能告诉我该怎么设计统计算法呢?
已邀请:
1

CCC - Tool Maker 2015-10-16 回答

索引设计好,再注意SQL语句的优化,必要的时候可以使用视图、存储过程,在数据表在100万条左右的时候,处理得好一般不会发生性能问题,我做过上千万条数据量的表的统计查询,速度相对较慢,但基本还在承受范围之内。

如要寻求进一步的帮助,你可以把表结构、索引结构、查询语句一起发上来,才好给你做更详细的分析。
0

老头子 - 专注是唯一的捷径 2015-10-16 回答

源表记录了用户每次登陆系统的用户名,登陆时间,登陆IP和登陆时间
(1)一年内每天的用户总登陆时间,平均登陆时间,登陆次数
(2)一天每小时总登陆时间,平均登陆时间,登陆次数

 
按照你说的需求,聚合函数就可以实现了,都不涉及复杂的算法和关联,100w做聚合的性能不会太差。
还有,你们什么服务器。。 100w的数据量就跑不动了明显有问题,你要看下你们服务器的资源占用情况。
 
0

BAO胖子 - 15年BI经验,涉足电力,快消品,医药,信息服务等行业的BI老兵。 2015-10-16 回答

如果系统性能有限,查询速度就是慢的话,建议采用轮转综合汇总的方式。建汇总表,每小时定期后台刷新取汇总数据插入,然后从这表里读数据,而不用从源表里面每次都计算细节数据,缺点是实时性会降低,但这东西其实不用实时性那么高。

要回复问题请先登录注册