全量:
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'
修改时,修改所有的堆,增加的索引放最后一堆