DBeaver中的Oracle db表数据加载太慢

Posted

技术标签:

【中文标题】DBeaver中的Oracle db表数据加载太慢【英文标题】:Oracle db table data loading is too slow in DBeaver 【发布时间】:2017-11-08 17:43:32 【问题描述】:

我正在使用 DBeaver 连接到 Oracle 数据库。数据库连接和表属性视图功能工作正常,没有任何延迟。但是获取表数据太慢了(有时大约 50 秒)。

有什么设置可以加快 DBeaver 中获取表数据的速度吗?

【问题讨论】:

【参考方案1】:

更改 oracle db 连接中的以下设置将比未设置时更快地获取表数据。

右键单击您的数据库连接 --> 编辑连接 --> Oracle 属性 --> 勾选“使用规则提示进行系统目录查询” (默认不设置)


更新

在较新的 DBeaver 版本 (21.0.0) 中,此处显示了更多性能选项。开启它们显着提高了我的性能

【讨论】:

这个 DBeaver 版本是什么?我的 (v21.0.0) 似乎没有这个选项。【参考方案2】:

我从未使用过 DBeaver,但我经常看到应用程序使用的“数组提取大小”**太小,这通常会导致提取问题。

** 数组获取大小注意: 根据 Oracle 文档,Fetch Buffer Size 是一个应用程序端内存设置,它影响单个 fetch 返回的行数。通常,您可以平衡单次提取(也称为数组提取大小)返回的行数和需要提取的行数。

与需要返回的行数相比,较小的数组提取大小将表现为处理每次提取所需的增加的网络和客户端处理延迟(即每次网络往返的高成本 [SQL*Net 协议] )。

如果是这种情况,您可能会看到“来自客户端的 SQLNet 消息” [在 gv$session 或其他地方] 的等待时间非常长。

SQL来自客户端的网络消息 此等待事件由会话在等待来自客户端的消息到达时发布。通常,这意味着会话只是处于空闲状态,但是,在客户端/服务器环境中,这也可能意味着客户端进程运行缓慢或存在网络延迟延迟。此等待事件的高等待时间不会降低数据库性能。

【讨论】:

以上是关于DBeaver中的Oracle db表数据加载太慢的主要内容,如果未能解决你的问题,请参考以下文章

dbeaver连接Oracle数据库

dbeaver创建的数据库文件哪里找?

dbeaver怎样连接数据库Oracle,MySqlSQLServer

高分求助:oracle 大表更新,大约200万,insert和update太慢,如何解决?

VB MYsql, 插入一条数据要40-60毫秒,太慢了,有啥方法可以改进么

Oracle DB 移动数据