寻找获得数据DELTA的最佳实践。
没有可用的时间戳,无法编制时间戳!
目标:随着时间的推移,获取所有字段的所有文件的差异。只需要主键作为输出。 此外,我需要15分钟的数据更改间隔
实施例: 客户文件有50列/字段,如果有任何字段更改我想要另一个文件来记录主键。或任何记录客户文件中更改发生的内容。
问题: 我不确定触发器是否可行,因为触发器会产生大量开销。
考虑到开销和性能,有人可以建议一段时间内DB2 deltas的最佳实践吗?
答案 0 :(得分:1)
您是否考虑过记录文件并评估日记接收器?
答案 1 :(得分:1)
我不确定为什么你认为有很多与触发器相关的开销,根据我的经验,它们非常快,但正如David建议的那样,你可以记录你想要跟踪的文件,然后分析期刊接收机。
要启用日记功能,您需要执行以下三个步骤:
CRTJRNRCV
CRTJRN
STRJRNPF
开始记录文件。您需要保留* BEFORE和* AFTER图像以检测更新时的更改,但您可以省略* OPNCLS记录以节省一些空间。执行此操作后,您还可以使用承诺控制来管理交易!但是,您现在必须管理这些接收器,因为它们占用了大量空间。您可以在MNGRCV(*SYSTEM)
命令上使用CRTJRN
来执行此操作。我怀疑你会想要阻止系统自动删除旧接收器,因为这可能会导致你在系统更改接收器时错过一些更改。但这意味着当你完成它们时你将不得不自己删除旧的接收器。我建议等一两天删除旧接收器。这可能是一夜之间的过程。
要阅读期刊接收者,您需要使用RTVJRNE
(Retreive日记帐分录),它可以将日记帐分录检索到变量,或DSPJRN
(显示日记帐),以便您将日记帐分录返回到显示器,打印机文件或* OUTFILE。然后可以使用ODBC或SQL读取* OUTFILE,或者您想要处理它。您可以按文件和类型过滤要接收的日记帐分录。