我正在玩(学习经验),使用Play编写分析系统!框架(2)(爪哇),
我想编写有效的代码,因此我很难决定以下内容:
对于页面到达的每个视图,都会添加一条记录,指定网站(example.org),页面(/index.html)和查看日期。你可以猜到,行数将是巨大的。 为了使用数据,我选择网站为“example.org”的所有行,循环结果以构建一个哈希映射,其中包含日期和该日期的视图数量,然后使用它来构建图形。
必须有更好的方法来做到这一点,
例如,不是每个视图都有一行,而是更新现有记录,将一个视图添加到记录中。
任何帮助将不胜感激。
谢谢
答案 0 :(得分:0)
您可以在WHERE子句中添加更多条件(如日期),然后可以对结果执行Count。这样您就可以直接获得数据库的结果。
查询看起来像:
SELECT COUNT(*)
FROM YOUR_TABLE
WHERE SITE = 'thesite'
AND DATE = '<date>'
GROUP BY SITE, DATE
答案 1 :(得分:0)
必须有更好的方法来做到这一点,
Web服务器记录HTML请求。大多数分析系统都使用Web服务器日志。
既然您提到要学习这些内容,那么您将以最灵活的方式收集统计数据。
我唯一的建议是从您的Web应用程序正在写入的统计信息表中删除所有索引。制作统计信息表的副本以生成统计信息。该副本将具有所有必要的索引。
这样,您可以获得最快的写入次数,因为没有要更新的索引。
如果需要,您可以在写表上使用主索引或聚簇索引。