1

我正在玩(学习经验)使用 Play 编写分析系统!框架(2)(java),

我想编写高效的代码,因此我正在努力决定以下几点:

对于页面获得的每个视图,都会添加一条记录,指定网站 (example.org)、页面 (/index.html) 和查看日期。你可以猜到,行的数量会很大。要使用这些数据,我会选择网站为“example.org”的所有行,循环遍历结果以构建包含日期和在该日期有多少视图的哈希图,然后使用它来构建图表。

必须有更好的方法来做到这一点,

例如,与其每个视图都有一行,不如更新现有记录,向记录添加一个视图。

任何援助将不胜感激。

谢谢

4

2 回答 2

0

您可以在 WHERE 子句中添加更多条件(如日期),然后您可以对结果执行计数。这样,您将直接从数据库中获得结果。

查询如下所示:

 SELECT COUNT(*) 
 FROM YOUR_TABLE
 WHERE SITE = 'thesite'
       AND DATE = '<date>'
 GROUP BY SITE, DATE
于 2012-06-12T12:14:34.870 回答
0

必须有更好的方法来做到这一点,

Web 服务器记录 HTML 请求。大多数分析系统使用 Web 服务器日志。

由于您提到您这样做是为了学习,因此您正在以最灵活的方式收集统计数据。

我唯一的建议是从您的 Web 应用程序正在写入的统计信息表中删除所有索引。制作统计表的副本以生成统计信息。该副本将具有所有必要的索引。

这样,您可以获得最快的写入,因为没有要更新的索引。

如有必要,您可以在写表上有一个主索引或聚簇索引。

于 2012-06-12T12:22:10.497 回答