历史数据模型模式,但很快找到最新记录

时间:2011-12-06 23:30:34

标签: sql design-patterns data-modeling

我正在设计一个数据模型更改,并且让我感到必须有一个更好的方法......

我有一个“日志”,每个父实体都有许多条目被记录。大多数时候,我只需要最新的日志条目,但我仍然需要较旧的数据来进行审计,报告等。

现在,我通常采用的方法是创建从父实体到“log”表的一对多连接,然后使用SQL查找最新记录。

但它发生在我身上:我可以选择数据模型。是否有更好的设计模式?

1 个答案:

答案 0 :(得分:1)

物理实现可以使用按日期分区的日志表。可以使用滚动窗口将旧分区存档或汇总到某种摘要表中。表访问对于应用程序可以是透明的,但是使用日期访问会将查询修剪到适当的分区(在单个分区上搜索比在整个表上更有效)。

此外,由于日志数据只进入当前分区,因此较旧的分区可以进入“只读”状态。根据rdbms,这可以具有诸如仅需要备份一次并排除以备将来备份,能够在文件级别进行交换等优点。