如何在 Oracle SQL Developer 中增加缓冲区大小以查看所有记录?

Posted

技术标签:

【中文标题】如何在 Oracle SQL Developer 中增加缓冲区大小以查看所有记录?【英文标题】:How to increase buffer size in Oracle SQL Developer to view all records? 【发布时间】:2012-02-09 04:25:51 【问题描述】:

如何在 Oracle SQL Developer 中增加缓冲区大小以查看所有记录(默认设置似乎有一定的限制)?任何屏幕截图和/或提示都会非常有帮助。

【问题讨论】:

【参考方案1】:

https://forums.oracle.com/forums/thread.jspa?threadID=447344

相关部分内容如下:

没有获取所有记录的设置。你不会喜欢 SQL 开发人员无论如何都要在大桌子上获取几分钟。如果,对于 1 具体表,你想获取所有记录,你可以做Control-End 在结果窗格中转到最后一条记录。你可以计时 自己取时间,但这会因网络速度和 拥塞,程序(SQL*Plus 将比 SQL Dev 更快,因为 它更简单)等。

工具栏上还有一个“Fetch All”按钮。

FWIW 检索所有记录时要小心,对于非常大的记录集,它可能会导致您遇到各种内存问题等。

据我所知,SQL Developer 在后台使用 JDBC 来获取记录,并且限制由 JDBC setMaxRows() 过程设置,如果您可以更改此设置(可能不受支持),那么您也许可以更改 SQL Developer 行为。

【讨论】:

我正在运行 SQL Developer 3.2.20.09,但没有看到“获取全部”按钮。但是控制端效果很好。谢谢。 Ctrl + End 适用于获取所有 any SQL 行,而不仅仅是一个特定的表。 仅供参考,我们不使用 setMaxRows() 记录计数代码 - 在结果集上按 control-a。这是控制端的替代方案。【参考方案2】:

选择工具 > 首选项 > 数据库/高级

Sql Array Fetch Size 有一个输入字段,但它只允许设置最多 500 行。

【讨论】:

我的首选项窗口中没有“数据库”或“高级”设置。我正在使用 PL/SQL Developer 9.0.1。还有其他想法吗? @PatrickSzalapski 这个问题是关于 Oracle SQL Developer 而不是关于 PL/SQL Developer - 那是来自不同公司的不同产品 谢谢,在发表评论几天后发现了区别。 请注意,在 sql developer version 4.2.0.16.260 上 Max 为 200【参考方案3】:

如果您运行的是脚本而不是语句,则可以通过选择工具/首选项/工作表并增加“在脚本中打印的最大行数”来增加此值。默认为 5000,您可以将其更改为任意大小。

【讨论】:

【参考方案4】:

这很简单,但需要 3 个步骤:

    在 SQL Developer 中,在“工作表”中输入您的查询并突出显示它,然后按 F9 运行它。前 50 行将被提取到“查询结果”窗口中。 单击“查询结果”窗口中的任何单元格以将焦点设置到该窗口。 按住 Ctrl 键并点击“A”键。

所有行都将被提取到“查询结果”窗口中!

【讨论】:

【参考方案5】:

您还可以手动编辑首选项文件以将 Array Fetch Size 设置为任何值。

我在 Win 7 (x64) 上的 C:\Users\<user>\AppData\Roaming\SQL Developer\system4.0.2.15.21\o.sqldeveloper.12.2.0.15.21\product-preferences.xml 找到。

值在我的第 372 行,显示为 <value n="ARRAYFETCHSIZE" v="200"/>

我已将其更改为 2000,它适用于我。

我不得不重新启动 SQL Developer。

【讨论】:

我不敢相信他们在“首选项”窗口中限制了此设置。 这太棒了,非常感谢。将结果集存储在缓存中会很好,因此如果按列排序,则不必重新运行查询。关于如何做到这一点的任何提示?【参考方案6】:

按 f5 而不是 f9 来运行查询。它将一次性为您提供所有结果...

【讨论】:

【参考方案7】:

工具->首选项->数据库->工作表

在“脚本中打印的最大行数”中输入所需的大小

保存更改。

【讨论】:

【参考方案8】:

在查询窗口中获取前 50 行后,只需单击任意列即可将焦点放在查询窗口上,然后在选择后执行 ctrl + end

这将加载完整的结果集(所有行)

【讨论】:

【参考方案9】:

在查询窗口中检索前 50 行后,只需单击一列即可将焦点放在查询窗口上,然后在选择后执行 ctrl + pagedown

这将加载完整的结果集(所有行)

【讨论】:

谢谢 Alex,但对我来说这是 ctrl + end 键。【参考方案10】:

这是另一个作弊:

如果您真的不需要所有行,请限制您的查询。即

WHERE rownum <= 10000

然后单击结果的任何单元格并使用键盘CTRL+END 执行操作。这将强制 SQL Developer 滚动到查询的底部结果。

这具有保持默认行为并按需使用它的优点。

【讨论】:

以上是关于如何在 Oracle SQL Developer 中增加缓冲区大小以查看所有记录?的主要内容,如果未能解决你的问题,请参考以下文章

如何安装pl/sql developer

如何安装pl/sql developer

如何在 SQL Developer 中检查语法 Oracle 存储过程?

oracle 客户端 sql developer 如何修改jdk版本

如何在 Oracle SQL Developer 中查询数据库名称?

如何在 oracle sql developer 中运行存储过程?