加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在使用jdbc和oracle驱动程序时存储结果集的位置

发布时间:2020-12-14 05:03:41 所属栏目:Java 来源:网络整理
导读:一旦我用oracle驱动程序使用jdbc并运行select查询是将查询的结果存储在oracle内存或文件系统还是临时表的服务器中? 一旦我运行下一个方法,通过获取下一行是从oracle服务器内存加载到jvm内存? 如果我将结果集上的取数大小定义为1000,这意味着1000行从oracle
一旦我用oracle驱动程序使用jdbc并运行select查询是将查询的结果存储在oracle内存或文件系统还是临时表的服务器中?

一旦我运行下一个方法,通过获取下一行是从oracle服务器内存加载到jvm内存?

如果我将结果集上的取数大小定义为1000,这意味着1000行从oracle加载到JVM上的JDBC驱动程序?

解决方法

默认行数(不是整个结果集)将在本地内存中获取.一旦你到达所获取的行的最后一行(比如说做next()并尝试访问下一行),并且如果结果中有更多的行,那么将进行另一个往返调用到数据库以获取下一个批次行.

编辑1:

您可以通过执行此操作查看结果集一次提取的行数(请验证语法):

rs.beforeFirst(); // will put cursor before the first row
rs.last(); // will put cursor after the last line
int noOfRows = rs.getRow(); // will give you the current row number

编辑2:

如果您希望在本地内存中获得比平常更多的行,则可以考虑使用CachedRowSet.即使这样也可以进行往返行程,但通常会低于正常的结果集.但是,您应该考虑对应用程序进行一些性能检查.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读