【问题标题】:Best way to aggregate logging data汇总日志数据的最佳方式
【发布时间】:2017-04-07 14:00:14
【问题描述】:

所以我有一个数据库,其中包含人们点击链接的日志。我存储的是id、country、referrer-domain、clickedat。最后一列是时间戳。

目前行数并不多,但如果起飞,可能会有数万到数十万行。查询数据库以获取此类内容的最佳方法是什么:

  • 过去一个月每天查看的次数
  • 使用您的链接的前 20 个国家/地区
  • 引用您的链接的前 20 个网站

使用COUNT(*) 最终会太慢。我已经看到了将另一个查询添加到每个碰巧保存在特殊聚合表中的更新、插入、删除的技术。但我不确定这会起作用,因为我希望用户能够选择两个特定的日期。否则我必须按天汇总。

【问题讨论】:

  • 也许 NoSQL 解决方案适合您。

标签: mysql aggregate


【解决方案1】:

如果您添加索引日期列,因此您不会即时进行日期/时间计算,您应该能够使用普通聚合来查询它。使用格式正确的查询需要很长时间才能“太慢”。

如果成功,请按照您的描述考虑对数据进行反规范化,但不要过早地对其进行优化!

【讨论】:

  • 这实际上是一个很好的解决方案。它正在慢慢起飞,该服务正在被一个更大的网站所采用,该网站希望将其提供给他们的会员,但它只是更多的总数据,而不是每个用户的更多行。他们都是相对的“小”用户。谢谢!
猜你喜欢
  • 2012-10-18
  • 1970-01-01
  • 2020-02-04
  • 2015-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-23
相关资源
最近更新 更多