如何在 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 中增加缓冲区大小以查看所有记录?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SQL Developer 中检查语法 Oracle 存储过程?
oracle 客户端 sql developer 如何修改jdk版本