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