比如:有个用户表 User, 有个用户访问记录表 Log,每一个访问会有一行记录。现在后台有个需求,就是查询某个时间段内(按日)某个用户的访问量。
User 是100W的数据量,Log 接近亿级,对表按日期做了分区,但是直接关联查询还是非常慢。后面我每日单独对每个用户做了一次统计记录,把单个用户一天的数据缩减成一条记录,但是用户量100W,每日统计还是会有100W条记录,如果时间长了,统计表会越来越大。
请教下各位有什么其它思路来做这种大数据量的统计分析。
比如:有个用户表 User, 有个用户访问记录表 Log,每一个访问会有一行记录。现在后台有个需求,就是查询某个时间段内(按日)某个用户的访问量。
User 是100W的数据量,Log 接近亿级,对表按日期做了分区,但是直接关联查询还是非常慢。后面我每日单独对每个用户做了一次统计记录,把单个用户一天的数据缩减成一条记录,但是用户量100W,每日统计还是会有100W条记录,如果时间长了,统计表会越来越大。
请教下各位有什么其它思路来做这种大数据量的统计分析。
我有个不成熟的建议,可以把之前的访问数据统计好,然后转存到其它数据库,这样就能减少主数据库的体积。因为你的用户访问量既存之后是不变的,计算好一两次做好验算,根本就不需要让它还存在主数据库来增大数据库的体积。
如果有其它数据统计的需求,就在从数据库上做挖掘好了,还不影响业务
5 回答3.3k 阅读✓ 已解决
3 回答3.7k 阅读✓ 已解决
2 回答2.9k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
5 回答1.4k 阅读
2 回答2.1k 阅读
你优化有你的查询仅是百万级别单表查询了,并且你的场景是userid固定, statdate 区间,做好这两个字段的索引,应该很快吧。