所以我有一个包含点击链接的人的日志的数据库。我存储的是idcountryreferrer-domainclickedat。最后一列是时间戳。
目前没有太多的行,但如果这一行起飞,可能会有几万到几十万行。查询数据库以获取以下信息的最佳方式是:
过去一个月每天查看的次数
使用你链接的前20个国家
排名前20的网站推荐你的链接
使用COUNT(*)最终会太慢。我见过一些技术,在每次更新、插入、删除时都会添加另一个查询,这些查询会保存在一个特殊的聚合表中。但我不确定这是否可行,因为我希望用户能够选择两个特定的日期。否则我就得按天算。

最佳答案

如果您添加了索引日期列,因此您不会动态地进行日期/时间计算,您应该只能够使用普通聚合来查询它。对于格式正确的查询,这需要很长时间才能变得“太慢”。
如果它起飞了,看看去正规化的数据,你描述,但不要过早地优化它!

10-05 20:30
查看更多