Sta*_*bie 6 mysql database database-design
DB设计中维护修订历史的一般策略是什么?如果它只是我正在处理的一张桌子,我认为这不会那么难.只需将每个更新保存为表中的新记录.最后一条记录将始终是最新版本.
但是,当数据存储在多个表中时,有哪些设计方法可以跟踪修订?
我更喜欢为每个版本化表提供额外的历史表。time_from与带有附加字段的主表结构相同time_to。透明地充满了触发器。time_to最新修订版设定为遥远的未来。
可以使用如下查询检索指定时刻的状态:
SELECT * FROM user_history
WHERE time_from >= '2012-02-01' AND time_to <= '2012-02-01'
Run Code Online (Sandbox Code Playgroud)
对我来说,在主表中存储历史记录通常不是一个好主意,因为它在检索或连接当前数据时需要复杂的条件。