Sql 历史数据模型模式,但可快速查找最新记录
我正在设计一个数据模型更改,这让我感到必须有更好的方法 我有一个“日志”,每个记录的父实体都有许多条目。大多数时候,我只需要最新的日志条目,但我仍然需要用于审计、报告等的旧数据 现在,我通常的方法是创建一个从父实体到“log”表的一对多连接,然后使用SQL查找最近的记录Sql 历史数据模型模式,但可快速查找最新记录,sql,design-patterns,data-modeling,Sql,Design Patterns,Data Modeling,我正在设计一个数据模型更改,这让我感到必须有更好的方法 我有一个“日志”,每个记录的父实体都有许多条目。大多数时候,我只需要最新的日志条目,但我仍然需要用于审计、报告等的旧数据 现在,我通常的方法是创建一个从父实体到“log”表的一对多连接,然后使用SQL查找最近的记录 但我突然想到:我可以选择数据模型。有更好的设计模式吗?物理实现可以使用按日期分区的日志表。可以使用滚动窗口,将旧分区归档或汇总到某种汇总表中。表访问对应用程序来说是透明的,但是带日期的访问会将查询修剪到适当的分区(在单个分区上搜
但我突然想到:我可以选择数据模型。有更好的设计模式吗?物理实现可以使用按日期分区的日志表。可以使用滚动窗口,将旧分区归档或汇总到某种汇总表中。表访问对应用程序来说是透明的,但是带日期的访问会将查询修剪到适当的分区(在单个分区上搜索比在整个表上搜索更有效) 此外,由于日志数据只进入当前分区,旧分区可能会进入“只读”状态。根据rdbms的不同,这可能具有一些优势,例如只需备份一次并排除在以后的备份之外,能够在文件级别进行交换,等等