• 拉链表设计


     在企业中,由于有些流水表每日有几千万条记录,数据仓库保存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' )

  • 相关阅读:
    第一次结对编程作业
    第一次个人编程作业
    获取file中字段,写入到TXT文件中
    通过file中的字段查询MySQL内容
    MySQL常用语句
    MySQL乱码问题
    脚本数据编码格式转换
    mysql 常用命令操作
    thinkphp项目 Class 'finfo' not found
    POJ3255--次短路
  • 原文地址:https://www.cnblogs.com/zhangchenliang/p/2680945.html
Copyright © 2020-2023  润新知