数据snapshot的保存

两种方式

行级

这个方式最好配合表继承来处理,创建一个父表主要是定义表结构,不存数据。然后创建业务表和snapshot表都继承该父表。然后创建触发器在insert和update后把数据刷入snapshot(为什么要后置触发呢,这样保证在snapshot可以看到整个生命周期)。这里有一个坑,就是如果业务表继承了其他的表,那么修改业务表的业务父表的表结构时需要注意。

json

另一个种做法就是把整个记录作为json存在一个snapshot表,这个snapshot表可以多个对象共享。
因为json一般也不会去关联查询(用历史数据join现在的记录会有点怪)
如果业务记录本身就是json这样最妙

是否还需要业务表

答案恐怕是需要

需要注意的坑

手工改数据可能导致不一致

猜你喜欢

转载自blog.csdn.net/u012220365/article/details/86607819