首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Oracle11g Sys参考游标Vs pl/sql集合

Java Oracle11g Sys参考游标Vs pl/sql集合
EN

Stack Overflow用户
提问于 2015-10-28 13:51:51
回答 1查看 522关注 0票数 1

我想问专家们,从Java应用程序(使用JDBC)从oracle 11g数据库中获取3000到5000条记录的建议是什么。我们的标准是总是调用存储过程。

我做了一些研究,发现ref游标基于JDBC获取计数属性对数据库进行多次往返旅行。(在处理参考游标时,是否有人会对端到端流的数据如何存储在oracle和JVM中的内存中有更多的了解?)

我认为集合更有效,因为数据是从oracle db (使用大容量收集)一次性发送给调用方(Java)的。使用这种方法,我们可以避免从Java到Oracle服务器的多个网络调用。这是一个真实的假设吗?

感谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2015-10-28 14:59:21

这是一个比任何人都愿意在帖子中承诺的更大的话题。这里有一个链接,讨论如何使用Oracle管理读取一致性。整个页面可能是一个很好的阅读,可以了解服务器上正在发生的事情。还有一篇文章这里讨论了使用集合会发生什么。如何将集合返回到JDBC客户端(这不是我曾经尝试过的东西)?

本质上,性能涉及很多方面,从如何配置数据库到如何将网络调优到磁盘性能、客户端性能等等。

简单地说,你需要尝试一些事情。检索3-5 K记录不是很多,这取决于记录有多大,你是否带回来网络。如果它们是20个字节的记录,那么您的网络(MTU?)大小是4k块,你可以容纳约200个记录在一个区块。在某种程度上,你会遇到收益递减的规律。

我习惯使用存储过程,但您不需要这样做。这将取决于查询的复杂性(表的数量和联接的类型),以及DBA这样的人是否能够进去查看查询所做的事情。

担心网络旅行并不那么重要,因为只有那么多的数据可以填充到数据包中。无论您使用什么,都会有许多网络旅行,这取决于您的用例,以确定将其降到最低程度有多重要。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33392891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档