如何解决使用JDBC for Oracle迭代ResultSet花费大量时间,大约16s?
尝试更改ResultSet的获取大小。默认情况下,Oracle JDBC驱动程序一次从数据库游标仅接收10行结果集。它可能不会显着提高性能,但是还有许多其他选择可以使驱动程序更快地工作。
解决方法
while( result_set.next() )
{
...
}
我已经使用System.nanoTime()
并计算了时间,每次迭代所花费的时间以毫秒为单位,但是整个循环大约需要16秒。我正在考虑条件测试花费大量时间,next()
功能的可能原因。
仅供参考,我正在连接到远程数据库服务器,并且使用上述方法再次计算出我做出的选择查询(以毫秒为单位)。关于它为什么发生以及我如何花时间将结果集迭代到最大每秒的任何原因?
编辑:
我正在处理大约4000条记录,每条记录的内容约有10列,每列的大小约为10个字符
EDIT2 谢谢setFetchsize()做到了神奇,棒极了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。