【发布时间】:2015-06-28 00:48:00
【问题描述】:
假设我有一个存储访问者(网站访问者)信息的表格。假设,表结构由以下字段组成:
- 身份证
- visitor_id
- visit_time(自 UTC 起以毫秒为单位存储 '1970-01-01 00:00:00')
此表中有数百万行,并且还在增长。
在这种情况下,如果我想查看任何时区的报告(天 vs 访问者),那么一种解决方案是:
解决方案 #1:
- 获取报表查看器(即客户端)的时区
- 考虑客户的时区,汇总此表中的数据
- 按天显示结果
但在这种情况下,性能会下降。另一种解决方案可能如下:
解决方案 #2:
- 使用忽略客户时区的预聚合表/汇总表
但无论哪种情况都有trade off between performance and correctness。
解决方案 #1 确保正确性,解决方案 #2 确保更好的性能。
我想知道在这种特定情况下的最佳做法是什么?
【问题讨论】:
标签: mysql bigdata web-analytics