日志数据不断增长

时间:2013-02-22 06:58:57

标签: c# database optimization logging database-performance

在我们的应用程序(预订/预订类型)中,我们通过单个DBAudit表处理日志数据。

问题在于,由于此表中数据的增长,基于它生成的报告“大规模”减慢了。有哪些选项(时间证明)?

这些可以是有效的选择:

  1. 处理多个表的日志
  2. 定期自动删除旧数据
  3. 将旧数据迁移到其他存档数据库
  4. 其他具有大量活动日志的应用程序如何保持这一点?

2 个答案:

答案 0 :(得分:3)

您可以尝试每隔一段时间预先计算数据中的重要指标,然后根据这些指标构建报告。

这将允许您将旧的日志数据存档到数据仓库中,而不会影响您的报告。

答案 1 :(得分:0)

是的,所有这些都是不错的选择,您应该尝试实施所有这些:

  1. 处理多个表的日志 - 可能考虑仅保留主表中的最新数据,然后将它们移动到某些历史表中。这取决于运行报告确实需要多少数据。
  2. 定期自动删除旧数据 - 我会考虑在删除数据之前先计算指标。尝试创建尽可能多的不同指标,这将消耗更少的空间,然后在处理数据时,只需保留结果并删除实际数据。
  3. 将旧数据迁移到其他一些存档数据库 - 我会这样做只是因为你真的无法删除任何数据。
  4. 除此之外,您可以尝试将索引添加到报告表中以查找最常用的列和/或尝试尽可能优化查询。如果这些表中已有索引,请确保定期重新构建这些索引。