2012-06-12 37 views
1

我在使用Play!编写分析系统时玩耍(学习体验)!框架(2)(JAVA),针对每个网页视图的数据库条目(分析)

我想写高效的代码,并且由于这一点,我很努力在以下决定:

对于每一个浏览网页变得有添加记录,指定网站(example.org),页面(/index.html)和查看日期。正如你所猜测的那样,行数将会很大。 要使用数据,我选择网站为“example.org”的所有行,循环浏览结果以构建一个包含日期和它在该日期有多少个视图的散列图,然后使用它构建图。

必须有这样做的更多更好的办法,

例如,而不是每个视图中的行会更好,更新现有记录添加一个视图中的记录。

任何援助将不胜感激。

谢谢

回答

0

你可以只在添加一些条件(如日期)的WHERE子句,那么你可以对结果进行计数。这样你就可以直接得到数据库的结果。

查询看起来像:

SELECT COUNT(*) 
FROM YOUR_TABLE 
WHERE SITE = 'thesite' 
     AND DATE = '<date>' 
GROUP BY SITE, DATE 
+0

所以你说的是什么(对于图表中的每个日期)我选择日期为20100124,网站为example.org的地方并计算结果并返回每个网站的结果。听起来不错,我想限制可以查找的最大日期范围,但是对于给定年份的每一天执行查询将会花费大量的时间在sql服务器上。 – WookooUK

+0

然后你可以结合查询: 选择日期,COUNT(*) FROM YOUR_TABLE 其中站点=“thesite” GROUP BY现场 – dounyy

0

必须有这样做的更好的办法,

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

既然你提到你正在学习这一点,你就会以最灵活的方式收集统计数据。

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

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

如有必要,您可以在写入表上拥有主索引或群集索引。

+0

我的第一个停靠点是做了谷歌风格的JavaScript将数据发送到切断处理APON我打算在回复的第一部分中提到“内部监控”,比如处理系统日志和跟踪Apache服务器状态页面等。我不得不承认,你的回应的第二部分飞过了我的头,但我正在读你说的话,所以我更了解它。再次感谢您的回复。 – WookooUK

相关问题