【发布时间】:2012-02-09 04:25:51
【问题描述】:
如何在 Oracle SQL Developer 中增加缓冲区大小以查看所有记录(默认设置似乎有一定的限制)?任何屏幕截图和/或提示都会非常有帮助。
【问题讨论】:
标签: sql oracle oracle11g oracle-sqldeveloper
如何在 Oracle SQL Developer 中增加缓冲区大小以查看所有记录(默认设置似乎有一定的限制)?任何屏幕截图和/或提示都会非常有帮助。
【问题讨论】:
标签: sql oracle oracle11g oracle-sqldeveloper
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 行为。
【讨论】:
Ctrl + End 适用于获取所有 any SQL 行,而不仅仅是一个特定的表。
选择工具 > 首选项 > 数据库/高级
Sql Array Fetch Size 有一个输入字段,但它只允许设置最多 500 行。
【讨论】:
如果您运行的是脚本而不是语句,则可以通过选择工具/首选项/工作表并增加“在脚本中打印的最大行数”来增加此值。默认为 5000,您可以将其更改为任意大小。
【讨论】:
这很简单,但需要 3 个步骤:
所有行都将被提取到“查询结果”窗口中!
【讨论】:
您还可以手动编辑首选项文件以将 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。
【讨论】:
按 f5 而不是 f9 来运行查询。它将一次性为您提供所有结果...
【讨论】:
工具->首选项->数据库->工作表
在“脚本中打印的最大行数”中输入所需的大小
保存更改。
【讨论】:
在查询窗口中获取前 50 行后,只需单击任意列即可将焦点放在查询窗口上,然后在选择后执行 ctrl + end 键
这将加载完整的结果集(所有行)
【讨论】:
在查询窗口中检索前 50 行后,只需单击一列即可将焦点放在查询窗口上,然后在选择后执行 ctrl + pagedown
这将加载完整的结果集(所有行)
【讨论】:
这是另一个作弊:
如果您真的不需要所有行,请限制您的查询。即
WHERE rownum <= 10000
然后单击结果的任何单元格并使用键盘CTRL+END 执行操作。这将强制 SQL Developer 滚动到查询的底部结果。
这具有保持默认行为并按需使用它的优点。
【讨论】: