如何在一个时间间隔内对mysql表进行更改?

如何在一个时间间隔内对mysql表进行更改?,mysql,database,data-warehouse,Mysql,Database,Data Warehouse,我基本上是在创建一个数据仓库。 为了使仓库与源数据保持一致,我必须每天从源mysql数据库中提取更改。 我的问题是,在一些源mysql表中,没有“lastupdated”等效列 在这种情况下,如何提取更改?在数据仓库中,为了捕获目标系统中的更改,必须有一种方法在源端识别更改的新记录。这通常是在某些标志或Lastupdated列的帮助下完成的。但是如果这些都不存在,如果表很小,可以考虑将整个数据截断并重新加载到目标。但这对于大型表来说可能不太可行 您还可以参考以下博客中提到的一些其他技术-: 你不

我基本上是在创建一个数据仓库。 为了使仓库与源数据保持一致,我必须每天从源mysql数据库中提取更改。 我的问题是,在一些源mysql表中,没有“lastupdated”等效列


在这种情况下,如何提取更改?

在数据仓库中,为了捕获目标系统中的更改,必须有一种方法在源端识别更改的新记录。这通常是在某些标志或Lastupdated列的帮助下完成的。但是如果这些都不存在,如果表很小,可以考虑将整个数据截断并重新加载到目标。但这对于大型表来说可能不太可行

您还可以参考以下博客中提到的一些其他技术-:

你不容易做到这一点,如果你真的期望长期拥有这个要求,那么你应该认真考虑添加一些日期/时间戳列到表中。如果你想做不同的加载(即只加载改变行)一个可行的解决方案是使用其他列或列的组合来检测表的更改。例如,您可以记录昨天插入的最后一个ID,第二天只加载ID>lastInsertedId的行。这是否可行取决于表,您应该发布它们的结构,否则很难理解您的问题。如果这是不可能的,您可以每天完全加载所有表,但这自然会变得更慢、效率更低。