这是收集点击事件的好方法吗?

时间:2011-11-04 21:23:12

标签: mysql statistics

我正在开展一个统计项目,我们有兴趣在网站上记录不同列表的不同事件。

一个事件的例子是“点击徽标”,“点击更多信息”等等,每个事件都将由一个数字代表,我正在称之为偶数。

每天需要在这个表中存储大约20,000个事件,所以5年内,这个表中大约有18,000,000行。

以下是我的想法:

CREATE TABLE IF NOT EXISTS `stattableindexed` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `lid` int(10) unsigned NOT NULL COMMENT 'Listing ID',
  `serviceareaid` int(10) unsigned NOT NULL COMMENT 'Service Area ID',
  `domainid` int(10) unsigned NOT NULL COMMENT 'Domain ID',
  `bizgroup` int(10) unsigned NOT NULL COMMENT 'Business Group',
  `eventid` int(10) unsigned NOT NULL COMMENT 'Event ID',
  `eventtype` int(10) unsigned NOT NULL COMMENT 'Event Type',
  `count` int(10) unsigned NOT NULL COMMENT 'Count of Events',
  `timeunitid` bigint(10) unsigned NOT NULL COMMENT 'Time units',
  PRIMARY KEY  (`id`),
  KEY `timeunitid` (`timeunitid`),
  KEY `lid` (`lid`),
  KEY `serviceareaid` (`serviceareaid`),
  KEY `domainid` (`domainid`),
  KEY `bizgroup` (`bizgroup`),
  KEY `eventid` (`eventid`),
  KEY `eventtype` (`eventtype`),
  KEY `count` (`count`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Timeunit将是一个unix时代,一天,所以我只保留每天同类事件的数量。

通过这种方式,我可以查询表格中的天数。

你认为这是个好主意吗? 如果不是更好的方法呢?

1 个答案:

答案 0 :(得分:1)

您是否因为性能原因考虑使用NoSQL解决方案?即MongoDB这对于这类大规模测井dbs来说是一个很好的工具。