我在 java 中有一个数据归档过程,可以在 db2 和 sybase 之间移动数据。仅供参考 - 这不是通过任何导入/导出过程完成的,因为每个表上都有几个在运行时可用的条件,因此这个过程是在 java 中开发的。
现在,我为每个源和目标组合定义了单个 DatabaseReader 和 DatabaseWriter,以便在多个线程中移动数据。我想我想进一步扩展它,我可以为每个源和目标组合定义多个 DatabaseReaders 和 Multiple DatabaseWriters。
因此,例如,如果源数据大约有 100 行,我定义了 10 个读取器和 10 个写入器,每个读取器将读取 10 行并将它们提供给写入器。我希望进程能够根据服务器上可用的资源 [CPU、内存等] 为我提供极致的性能。
但我想问题是这些源表没有主键,并且很难在多个集合中抓取行。
Oracle 提供了 rownum 概念,我想那里的生活要简单得多....但是 db2 怎么样?如何使用 db2 实现这种行为?有没有办法说获取前 10 条记录,然后获取接下来的 10 条记录,依此类推?
有什么建议/想法吗?
DB2 版本 - DB2 v8.1.0.144 修订包编号 - 16 Linux