我正在设计一个数据模型的改变,我突然意识到一定有更好的方法……
我有一个"log“,其中每个父实体都有许多条目被记录。大多数情况下,我只需要最新的日志条目,但我仍然需要较旧的数据来进行审计、报告等。
现在,我通常的做法是创建一个从父实体到"log“表的一对多连接,然后使用SQL查找最近的记录。
但我突然想到:我可以选择数据模型。有没有更好的设计模式呢?
发布于 2011-12-07 11:43:49
物理实现可以使用按日期进行范围分区的日志表。可以使用滚动窗口,在该窗口中,旧分区被归档或汇总到某种汇总表中。表访问对应用程序可能是透明的,但带日期的访问会将查询修剪到适当的分区(在单个分区上的搜索比在整个表上的搜索更有效)。
此外,由于日志数据只进入当前分区,因此可以将较旧的分区置于“只读”状态。根据rdbms的不同,这可能具有一些优点,比如只需要备份一次,以后备份时就不需要备份,可以在文件级上换入换出,等等。
https://stackoverflow.com/questions/8408420
复制相似问题