所以我正在构建我的第一个广告服务器,我在报告系统的架构师中遇到了两难。
我每次点击一次小时插入一个report
表格,并单独插入单独,时间戳以m / s为主键。
所以基本上这个表看起来像这样:
timestamp , banner, country, useragent, clicks, impressions
2015/04/24 18:00:01.312 , banner1 , US, Crhome, 1, 0
2015/04/24 18:00:02.392 , banner1 , US, Crhome, 0, 1
2015/04/24 18:00:03.122 , banner2 , CA, Firefox, 0, 1
当用户查询时,我使用的group by
取决于sum(impressions),sum(clicks)
的需求
然而,我觉得我在这里做了一些非常错误的事情。感觉就像插入每个印象和每次点击一样,新行是错误和沉重的。 我想过将“banner,country,useragent”作为一个独特的索引,然后简单地增加重复键上的点击/印象。但是,该方法会破坏时间戳的准确性,因为单击X时间戳实际上会增加具有相同“横幅,国家,使用者”详细信息的早期时间戳横幅。
有更好的方法吗?