【发布时间】:2014-05-07 13:16:38
【问题描述】:
从一个数据库插入到另一个数据库的场景:
假设我在 db1 中有 100,000 条记录,我正在从数据库 db1 中选择一批记录,然后 将其插入另一个数据库 db2。通过选择一批记录,我的意思是我选择了 1000 条记录 一次。下次,我运行相同的查询来选择另一批 1000 条记录,我想从 记录号 1001 作为之前的所有记录 1000 条记录从第 1 行开始 插入db2。
所以,基本上,第二次,我想避免再次复制相同数量的记录,以避免 数据库 db2 中的重复记录。
为了避免插入重复记录,我现在遵循的一种方法是, 我的数据库 db1 中有一个名为 flag 的整数值列,其值为负值,例如 -1 并且尽快 当我抓取 1000 条记录时,我将值更新为正值,即 +1。于是,第二次 我将运行查询以获取下一组 1000 条记录,它将从记录 #1001 开始。
我想知道这是否是一种有效的方法,因为每次我运行查询时,我的查询都会检查 db1 中的所有记录从一开始就开始,然后最终开始从它所在的位置获取数据 会注意到标志列中负值的开始。请建议是否有更有效的 接近。
P.S:我正在使用 JDBC 来获取记录并将其插入到另一个数据库中。
谢谢
【问题讨论】:
标签: database