Netezza - 插入多行很慢

时间:2012-11-15 16:34:49

标签: sql netezza

如何在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');
...

3 个答案:

答案 0 :(得分:8)

Netezza在单例更新或插入方面效果不佳。我们所做的是Upserts或我们称之为Kill and Fills。使用Cognos Data Manager(ETL),我们找到所有更新,然后在使用NZ Load追加它们之前从表中删除它们。对于插入,我们只需附加它们。两者都使用NZ Load。比慢速和痛苦的单曲(一次一个)更新或插入更好。

答案 1 :(得分:2)

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

INSERT INTO MYTABLE
select 2, 2, 2, 'E' union all
select 3, 4, 5, 'Z'

答案 2 :(得分:2)

Netezza Performance Server(NPS)主要关注在线分析事务(OLAP)。它主要涉及批量加载。因此,如果你的插入记录是巨大的,那么去NZLOAD会非常快。 句法: nzload -db -host -u -pw -t -df -delim -dateDelim -lf -bf