更新

全量:
1.新建索引根目录文件夹 update_user
2.新增数据的同时判断索引子文件夹大小再新建索引子文件夹  user_20171101153001  user_20171101153002 user_20171101153003
3.关闭索引
4.备份剪切原根目录 user->user_del
5.修改现索引根目录文件夹的前缀标识 update_user->user
6.删除备份 delete->user_del
7.打开索引
8.优化全部文件夹

增量:
1.新建索引子文件夹 update_user_20171101153004
2.新增数据的同时判断索引子文件夹大小再新建索引子文件夹     update_user_20171101153004 update_user_20171101153005
3.把修改过的数据在之前的索引子文件夹中剔除(user_20171101153001  user_20171101153002 user_20171101153003),
   同时把修改的数据加入放于最后一个索引子文件夹 update_user_20171101153005
4.修改索引子文件夹名 update_user_20171101153004->user_20171101153004 update_user_20171101153005->user_20171101153005

6.如果最后一个索引子文件夹大于设置的大小,则优化两个子索引文件夹(user_20171101153004,user_20171101153005)

反之和前一个索引子文件夹合并在一起,并优化(user_20171101153004)

 

全量: 根目录文件夹名:文件名

e:/update_文件名  更新后索引  1

e:/文件名               原始索引   2 

2更名成: e:/文件名_del 

1更名成: e:/文件名之后,则删除e:/文件名_del,重新加载索引

 

增量:子目录:文件名/update_文件名

e:/文件名/update_文件名_日期  更新后索引  1

e:/文件名/文件名_日期              原始索引   2 

2更名成:e:/文件名/文件名_日期_del 

1更名成 : e:/文件名/文件名_日期 ,则删除e:/文件名/文件名_日期_del,重新加载索引

 

时间戳分两种:
    一种是时间增量更新(在此期间增加的数据):更新周期大于零的情况下,如果当前时间减去最后一次完成时间的结果
大于更新周期,那么则创建一个增量更新任务

    一种是时间修改更新(在此期间之前对数据库有修改记录的);记录修改时间字段名大于上次完成时间小于当前时间,记录建立时间字段名小于上次完成时间 

增加建立时间字段名称:入库时间
      修改时间字段名称:客户修改数据时间
'19701102143822': 为上次时间戳增量更新完成的时间
'20151102144214': 为要更新数据的截止时间


时间戳增量更新为两种数据:
一种是上次完成时间,到现在为止新增的数据:
        select *
          from a
    where 1=1
           and rownum<=10
           and 入库时间 > '19701102143822'
           and 入库时间 < '20151102144214'

以及上次完成时间前被修改的数据,也要更新:
        select *
          from a
      where 1=1
           and rownum<=10
           and 入库时间 < '19701102143822'
           and 客户修改数据时间 > '19701102143822'
           and 客户修改数据时间 < '20151102144214'

 修改时,修改所有的堆,增加的索引放最后一堆

posted on 2015-11-02 17:42  lovebeauty  阅读(211)  评论(0)    收藏  举报

导航