在企业中,由于有些流水表每日有几千万条记录,数据仓库保存5年数据的话很容易不堪重负,因此可以使用拉链表的算法来节省存储空间。
1.采集当日全量数据存储到 ND(当日) 表中。
2.可从历史表中取出昨日全量数据存储到 OD(上日数据)表中。
3.用ND-OD为当日新增和变化的数据(即日增量数据)。
两个表进行全字段比较,将结果记录到tabel_I表中
4.用OD-ND为状态到此结束需要封链的数据。 (需要修改END_DATE)
两个表进行全字段比较,将结果记录到tabel_U表中
5.历史表(HIS)比ND表和OD表多两个字段(START_DATE,END_DATE)
6.将tabel_I表的内容全部insert插入到HIS表中。START_DATE=‘当日’,END_DATE可设为’9999-12-31’
7.更新封链记录的END_DATE
历史表(HIS)和tabel_U表比较,START_DATE,END_DATE除外,以tabel_U表为准,两者交集将其END_DATE改成当日,说明该记录失效。
8。取数据时对日期进行条件选择即可,如:取20100101日的数据为
(where START_DATE<=‘20100101’ and END_DATE>‘20100101’ )
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183398.html原文链接:https://javaforall.cn