我正在使用Oracle数据库,而且我正在使用弹性搜索来实现搜索。 我们使用河流并每隔5分钟执行一次,以提取最近执行后更新的数据。
如果河总能正常工作,那就没有问题了。 在某些情况下,Oracle必须运行专用服务,然后提取在5分钟之间更新的数据无法正常工作。
所以我认为我们必须从最后执行的时间中提取数据,我该怎么办呢? 是否可以在DB或Elastic Search中保留上次成功执行时间?
答案 0 :(得分:0)
我想到了两种方法。一种方法是在数据表中添加一列,以指示数据是否已被提取。这要求您在提取时更新每一行,这可能看起来很麻烦,但它可以让您清楚地了解已提取的内容,并且无需进行日期/时间比较,我发现这些比较耗时。我更喜欢这种解决方案,因为我发现它在过去非常简单。
第二种方法是使用“设置”表,并在设置表中记录最后成功提取的时间。在我看来,这是不太可取的替代方案,因为它没有明确指出哪些行已被提取。
因人而异。
分享并享受。