首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Netezza流ResultSet

Netezza流ResultSet
EN

Stack Overflow用户
提问于 2016-02-23 18:40:48
回答 2查看 565关注 0票数 2

我有内存问题,因为我试图从一个Netezza数据库中读取一个巨大的ResultSet。Netezza是否像MySQL一样支持任何类型的“流”MySQL?如果没有,是否会像这样限制获取大小?:

代码语言:javascript
复制
stmt.setFetchSize(50); 
conn.setAutoCommitMode(false);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-24 22:32:08

如果您想要拉出要存储在文件中的行,那么最好使用远程外部表。

下面是一个通过JDBC创建临时远程外部表的示例。这将调用JDBC驱动程序提供的批量导出/加载功能,并创建一个由管道分隔的文本文件。

代码语言:javascript
复制
create external table 'c:\mytest.txt' 
USING (DELIMITER '|' REMOTESOURCE 'JDBC' ) as
select *
from table1;

您可以使用conn.createStatement().execute对其进行调用,您很可能需要将文件规范添加到c:\mytest.txt以转义现有的反斜杠。

您可以在这里的文件中阅读更多有关外部表的信息。

顺便说一下,你可以使用setFetchSize。但我不确定这能解决你的记忆问题。

票数 1
EN

Stack Overflow用户

发布于 2016-02-24 10:29:48

通过下面的URL,您可以获得有关ROWSET_LIMIT的信息,通过这个变量设置,您可以将查询结果限制在您的需求上,并根据需要创建流- limits.html?lang=en

“可以限制查询可以返回的行数,从而限制大型结果集的资源。在创建用户或组时指定行集限制会自动限制返回的行数,这样用户就不必在其SQL查询中添加限制子句。”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35585571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档