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

时间:2012-01-12 21:28:25

标签: sql oracle oracle11g oracle-sqldeveloper

如何在Oracle SQL Developer中增加缓冲区大小以查看所有记录(默认情况下似乎设置了某个限制)?任何屏幕截图和/或提示都会非常有用。

10 个答案:

答案 0 :(得分:29)

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的行为。

答案 1 :(得分:29)

选择工具>偏好>数据库/高级

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

答案 2 :(得分:9)

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

答案 3 :(得分:4)

您也可以手动编辑首选项文件,将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。

答案 4 :(得分:4)

按f5运行查询而不是f9。它会一次性给你所有的结果......

答案 5 :(得分:4)

Tools-> Preferences -> Database ->Worksheet

Enter desired size in "Max rows to print in a script"

Save changes.

答案 6 :(得分:2)

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

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

答案 7 :(得分:2)

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

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

答案 8 :(得分:0)

这是另一种作弊方式:

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

WHERE rownum <= 10000

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

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

答案 9 :(得分:0)

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

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