我需要从一个巨大的数据表(可能包含 500 万条记录)创建一些具有自己格式的文件(假设每个文件 5000 个记录)。我希望这个创作是多线程的。
那么如何有效地形成查询来获取 1..5000 和 5001..10000 等记录。
我可以形成一些类似 select * from table where rownum<5000 并且不存在(已获取记录)的东西。但这并不是最有效的。
请建议形成查询的最佳方式或创建文件的任何替代方法。
最佳答案
如果您使用的是 Oracle 11g,您可以使用 DBMS_PARALLEL_EXECUTE 包在多个线程中运行您的过程。 Find out more 。
如果您使用的是早期版本,您可以使用 Tom Kyte 的技术来实现 DIY 并行性。饥饿的 DBA 提供 a good explanation on his blog here .
关于java - 查询从庞大的数据表中批量获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14142141/