迁移DB到PPAS时,碰到的一个JDBC 问题的解决方法

    在测试 PG/PPAS 的时候,一个很大的查询,总是会很快就报OOM。把heap dump出来以后,发现一个一个ResultSet占用了大概600M;而同样的代码在oracle上面就没有问题。然后google了一下,发现是(默认)PG会一次把 query 执行完,并把结果返回。

可以用如下的方式设置 fetchsize


http://jdbc.postgresql.org/documentation/head/query.html#fetchsize-example

Changing code to cursor mode is as simple as setting the fetch size of the Statement to the appropriate size. Setting the fetch size back to 0 will cause all rows to be cached (the default behaviour).

// make sure autocommit is off
conn.setAutoCommit(false);
Statement st = conn.createStatement();

// Turn use of the cursor on.
st.setFetchSize(50);
ResultSet rs = st.executeQuery("SELECT * FROM mytable");
while (rs.next())
{
   System.out.print("a row was returned.");
}
rs.close();

// Turn the cursor off.
st.setFetchSize(0);
rs = st.executeQuery("SELECT * FROM mytable");
while (rs.next())
{
   System.out.print("many rows were returned.");
}
rs.close();

// Close the statement.
st.close();

      同时,查询文档,发现 oracle jdbc(如果没有设置),默认是每次返回10条数据

时间: 2024-10-28 13:11:21

迁移DB到PPAS时,碰到的一个JDBC 问题的解决方法的相关文章

sql server-jsp使用jdbc技术连接SQL Server2014时出现了一个问题,怎么解决?无法连接数据库

问题描述 jsp使用jdbc技术连接SQL Server2014时出现了一个问题,怎么解决?无法连接数据库 java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver 解决方案 SQL Server 连接JDBC时出现的问题jdbc连接sql server数据库问题分析jsp连接不上sql server数据库的问题分析 解决方案二: 下面是index.jsp首页. <%@ page language

js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法

  这篇文章主要介绍了js插件设置innerHTML时在IE8下提示"未知运行时错误"解决方法,较为详细的分析了错误的原因及对应的解决方法,需要的朋友可以参考下 本文实例讲述了js插件设置innerHTML时在IE8下提示"未知运行时错误"解决方法.分享给大家供大家参考.具体分析如下: 问题描述: 网站中使用了一个js插件,设置innerHTML时,在IE8下报错"未知运行时错误": ? 1 2 3 4 5 <div id="di

PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法

 这篇文章主要介绍了PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法,造成这个问题的原因是PHP上传大小限制为2MB,修改PHP.ini配置即可解决这问题,需要的朋友可以参考下     网站搬家的时候碰到的这个问题,因为数据一直是使用PhpMyAdmin工具来进行备份和恢复的,但是随着网站的数据越来越多,所以数据库也是越来越大,压缩后都还有4M的数据,而在PhpMyAdmin里将数据导入时就出错误提示了. 上图为PhpMyAdmin里的提示"没有接收到要导入的数据.可能是文件名没有

word文档打开出现&quot;上次打开文档时严重错误,是否继续打开&quot;的解决方法

  word文档打开出现"上次打开文档时严重错误,是否继续打开"的解决方法 方法/步骤 [打开word文档] 有时候我们打开word文档,结果显示如下图情况,如果是重要的文件,就非常头疼,我们又不能扔掉,这个时候我们就得找出原因,对症下药. [继续点击] 看看显示帮助里有什么线索,包括是.否挨个试一遍,看看什么情况,然后按着它的提示操作下去. [排除其它原因] 你打开其它word文档,看其它可以打开不,如果其它打不开,那就说明模板已损坏,或者是中木马病毒了,这个可以参考作者其它的相关百

win7系统连接VPN失败时提示错误代码721的故障分析及解决方法

  故障原因分析: 1.721错误是由于您的电脑处在内网造成的,由于局域网中存在多台电脑,服务器就无法正确判断具体是哪台电脑,故连接时会提示错误721. 2.Win2003 路由和远程访问搭建vpn ,有些地方拨号提示错误721,将VPN的策略由pptp改为L2TP后解决. 3.路由器禁止了PPTP连接. 解决办法: 1.点击"开始--运行",键入"regedit"命令后点击"确定"; 2.在注册表编辑器中,找到以下注册项HKEY_LOCAL_M

C# WinForm控件对透明图片重叠时出现图片不透明的简单解决方法_C#教程

本文实例讲述了C# WinForm控件对透明图片重叠时出现图片不透明的简单解决方法.分享给大家供大家参考,具体如下: 在Winform中如果将一个透明图片放在窗体上能正常显示透明,但是如果将该图片放在另一个控件上会导致不能显示透明效果. 解决这种情况,可以采取在控件上使用GDI+绘画出透明图片. 这里我们就以一个pictureBox2控件上面重叠一张png透明图片为例: 我们只需要给pictureBox2控件添加Paint事件,然后对png透明图片进行绘制即可,代码如下: private voi

ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法_php实例

本文实例讲述了ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法.分享给大家供大家参考.具体如下: 一.问题描述: ThinkPHP做文字水印 ,今天做一个电子请帖,就把祝福语贴到图片上面,发现一直报错是取不到图片类型,比如gif,jpg等,并提示call an undefined function exif_imagetype(). 二.解决方法: 出现这个错误就是php.in 配置问题,打开即可:打开扩展 exten

Linux编译内核时提示“ Too many open files”的解决方法

Linux编译内核时提示" Too many open files"的解决方法如下: 这是因为file-max默认值(8096)太小.要解决这个问题,可以root身份执行下列命令(或将它们加入/etc/rcS.d/*下的init脚本): # echo "65536" > /proc/sys/ 最后进入解压后的目录,运行安装命令. # cd vmware-linux-tools# ./install.pl

win10系统使用APMserv时提示80端口被占用的解决方法

具体如下: 1.右下角有个向上的箭头,点击右键选择任务管理器: 2.在任务管理器中,选择后面的服务: 3.选择服务后,左下角区域有个打开服务的按钮,点击打开详细的系统服务: 4.打开后一般显示的是扩展的服务,为了查找方便,我们选择标准的: 5.打开标准服务后,我们拉到组后,找到World Wide Web Publishing Service,这个选项: 6.双击将里面的数字,改为0即可. 以上就是小编为大家带来的关于win10系统使用APMserv时提示80端口被占用的解决方法了:通过上面几个