主要用来保存历史数据
在原始表的基础上加两列begin_time和end_time
begin_time表示该条记录的生命周期的开始时间
end_time表示该条记录的生命周期的结束时间,如果该属性是9999-12-31表示该条记录是活跃的
需求1:查询当前所有有效的记录
select * from order_his where dw_end_date = '9999-12-31'
需求2:查询2019-06-21的历史快照
该需求等于:
1. 查询 开始日期为2019-06-21、以及小于2019-06-21的所有数据
2. 查询 结束日期为2019-06-21、以及大于2019-06-21的所有数据
select * from order_his where dw_begin_date <= '2012-06-21' and dw_end_date >= '2012-06-21'