如何在SQL中记录日常活动

时间:2012-11-24 08:38:10

标签: sql database

我想跟踪我网站上某些事情发生的事情,然后我希望能够编译数据,以便我可以每天查看。在SQL数据库中执行此操作的最佳方法是什么?是否有更好的方法,而不是每次都保持“date | action | data”(每天可能有数千个),有什么事情发生,然后当我想看它时,只需拉“where date = X”?看起来这样会有很多开销,但我不知道怎么做。

1 个答案:

答案 0 :(得分:0)

MySql可能不适合存储大量的日志数据,但通过一些优化,它可以在这里获得更好的一些提示:

  • 将MyISAM与并发插入一起使用
  • 每天轮换表格并使用union查询
  • 使用MySQL的延迟插入或像Gearman这样的作业处理代理

这里的数据检索可能不是问题,但存储引擎很重要,在这种情况下,MySAM是您的最佳选择,因为没有事务(它不支持)。

MyISAM支持的最大行数为~4.29E + 09,每个表最多64个索引。我觉得这对你很好。

查看有关高效Logging with MySql

的详细文章