2

如何在 Netezza 中同时插入多行?我有大约 20k 条记录要插入,但是使用单个插入将它们全部放入需要 1 小时(!)

INSERT INTO MYTABLE VALUES (2, 2, 2, 'E') , (3, 4, 5, 'Z') --doesn't work

这就是我现在正在使用的

INSERT INTO MYTABLE VALUES (2, 2, 2, 'E'); 
INSERT INTO MYTABLE VALUES (3, 4, 5, 'Z');
...
4

3 回答 3

8

Netezza 在单例更新或插入方面表现不佳。我们所做的是 Upserts 或我们所说的 Kill and Fills。使用 Cognos Data Manager (ETL),我们找到所有更新,然后从表中删除它们,然后使用 NZ Load 将它们追加回来。对于插入,我们只是追加它们。两者都使用 NZ Load。比缓慢而痛苦的单个(一次一个)更新或插入要好得多。

于 2012-11-15T18:23:18.517 回答
2

Netezza Performance Server (NPS) 主要专注于在线分析事务 (OLAP)。它主要涉及批量加载。因此,如果您的插入记录很大,请选择 NZLOAD,它会非常快。语法:nzload -db -host -u -pw -t -df -delim -dateDelim -lf -bf

于 2012-12-06T08:11:21.073 回答
2

并非每个数据库都支持多行插入。所以你必须使用单独的插入,或者你也可以使用:

INSERT INTO MYTABLE
select 2, 2, 2, 'E' union all
select 3, 4, 5, 'Z'
于 2012-11-15T16:37:35.933 回答