首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle DB网络交互非常慢

Oracle DB网络交互非常慢
EN

Stack Overflow用户
提问于 2018-01-10 18:13:15
回答 1查看 1.2K关注 0票数 0

我的Oracle DB网络速度有问题。

首先,问题的实质是什么。我电脑上有java应用程序,远程服务器上有Oracle DB。我在我的java应用程序中执行一个非常简单的查询,比如"select id,name from table_name",结果集包含大约60K行(大小约为1.5Mb),然后传输到我的应用程序中大约80秒。因此,对于分析器来说,应用程序花在oracle.net.Packet.recieve方法上的时间最多。

为了进行比较,相同的查询在SQL Developer中对5000行执行了0.5-0.7秒。外推到60K行,我们大约有6-8秒的时间。

对我的应用程序执行tcpdump的结果显示,数据以大小约为200字节的区块进行传输。另一方面,对于SQL开发人员,tcpdump显示包的大小超过2000字节。

Oracle官方文档建议增加SDU和TDU参数,不幸的是我无法更改数据库的配置,所以我尝试在客户端通过以下方式确定它们:

代码语言:javascript
复制
jdbc:oracle:thin:@(DESCRIPTION=(SDU=11280)(TDU=11280)(ADDRESS=(PROTOCOL=tcp)(HOST=<host>)(PORT=1521)(SEND_BUF_SIZE=11784)(RECV_BUF_SIZE=11784))(CONNECT_DATA=(SERVICE_NAME=<db>)))

但这并没有带来任何变化。数据库或ojdbc驱动程序可以忽略这些参数吗?或者我走错路了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-11 05:34:56

事实证明,原因在于fetch大小。增加它的值可以将执行时间减少到原来的1/100。

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

https://stackoverflow.com/questions/48184993

复制
相关文章

相似问题

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