我在oracle数据库中有200000个数据,在Mysql数据库中有300000个数据,具有相同的列。我想插入或更新mysql dp与oracle db中的数据进行比较。
我正在尝试JDBC,Spring boot jpa,但我必须循环通过两个db中的记录,以检查特定数据是否已经存在,或者与oracle db中的数据相比,现有数据中的任何更改,这是非常耗时和不专业的。
是否有任何解决方案或比较技术可以减少时间和更好的性能?
发布于 2020-07-04 22:49:58
Oracle表的哪些列能够很好地识别这些行,从而决定MySql表是否包含重复的行?
几乎可以肯定,您有足够的内存将MySql表中所有行的那些列读取到HashSet集合中。
然后从Oracle表中一个接一个地读取行,并在HashSet中查找它们(这很快)。如果行不在HashSet中,则将其插入到MySql中。如果匹配,则执行应用程序所需的任何操作。
或者,查看如何使用MySql的INSERT ... ON DUPLICATE KEY UPDATE ...查询模式。如果你的索引是正确的,那也是很快的。
https://stackoverflow.com/questions/62730221
复制相似问题