拉链表记录每条信息的生命周期,一旦记录的生命周期结束,就重新开始一条新记录,并且把当前日期作为新记录生效开始日期。
如果当前信息至今有效,在生命周期结束中填入一个极大值(‘9999-99-99’)。
应用场景:
1需要查看某些业务信息的某一个时间点当日的信息
2数据会发生变化,但是大部分是不变的,无法做每日增量。
3数据量有一定规模。无法按照每日全量的方式保存,比如1亿用户*365天,每天一份用户信息,显然不太合适。
拉链表的形成过程:
如何使用拉链表:
获取某个时间点的数据。
只要指定开始生效期比它小,结束生效期比它大就可以。
如获取2019/12/01这一天的状态的数据。
select * from order_info where start_date<='2019-12-01' and end_date>='2019-12-01';