拉鏈表設計


 在企業中,由於有些流水表每日有幾千萬條記錄,數據倉庫保存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' )


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM