java - 查询从庞大的数据表中批量获取数据

标签 java sql oracle performance

我需要从一个巨大的数据表(可能包含 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/

相关文章:

SQL 查询以选择特定的列值并连接它们

sql - tsql、access sql和pl/sql的区别

mysql - 初学者 - 如何将信息放入表中 - 创建表

java.sql.SQLException : ORA-01704: string literal too long When Insert Or Update

Oracle WebCenter 内容演示者模板

database - 如何对在 Oracle 中存储为 varchar 的 IP 地址进行排序

java - 与 java 和 .net 相比,mcrypt blowfish php 的结果略有不同

java - 使用 google Drive api 让 children 没有垃圾

java - 我收到错误 - 线程 "main"java.lang.NullPointerException 中的异常 java.lang.StringBuffer.<init>(未知来源)

java - 代码不抛出异常