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

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

【问题讨论】:

    标签: sql oracle oracle11g oracle-sqldeveloper


    【解决方案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 个步骤:

      1. 在 SQL Developer 中,在“工作表”中输入您的查询并突出显示它,然后按 F9 运行它。前 50 行将被提取到“查询结果”窗口中。
      2. 单击“查询结果”窗口中的任何单元格以将焦点设置到该窗口。
      3. 按住 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 滚动到查询的底部结果。

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2019-08-06
                • 2018-10-12
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多