2

Netezza で同時に複数の行を挿入するにはどうすればよいですか? 挿入するレコードが約 20,000 ありますが、単一の挿入を使用してすべてを挿入するには 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ロードを使用。遅くて面倒な単一の (一度に 1 つずつ) 更新または挿入よりもはるかにうまく機能します。

于 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 に答える