とにかくコピーコマンドをにコピーして、1つのテーブルからデータをコピーし、別のテーブルにデータを取り込みます(いくつかの条件が良いでしょう)?テーブルからテーブルへのコピーコマンドの条件
私がコピーコマンドのパフォーマンスを観察しているのは、より良いことです。INSERT INTO
in vertica。だから、INSERT INTO
をcopyコマンドに置き換えようとしています。
ありがとうございます!
とにかくコピーコマンドをにコピーして、1つのテーブルからデータをコピーし、別のテーブルにデータを取り込みます(いくつかの条件が良いでしょう)?テーブルからテーブルへのコピーコマンドの条件
私がコピーコマンドのパフォーマンスを観察しているのは、より良いことです。INSERT INTO
in vertica。だから、INSERT INTO
をcopyコマンドに置き換えようとしています。
ありがとうございます!
あなたがしたいのはINSERT /*+ DIRECT */ INTO table2 SELECT ... FROM table1 WHERE ...
です。直接ヒントは、WOSの代わりにROSコンテナに直接ロードするようにします。大きなバルク負荷を行っている場合は、これが最も高速です。このように多くの小さな挿入/選択を行っている場合は、WOSを使用してDIRECTを省略することが最適です。
もう1つの可能性はCREATE TABLE table2 AS SELECT ... FROM table1 WHERE ...
です。
最後に、フィルタリングではなくすべてのデータをコピーしている場合(これは私の知るところではありませんが、完全性のためにこれを含めています)、テーブルがパーティション化されていれば、 COPY_PARTITONS_TO_TABLE
これはソーステーブルのROSコンテナからターゲットテーブルへの参照を作成するだけです。新しいテーブルを変更すると、ROSコンテナが再編成されます(タプルムーバーなどを使用して時間が経つにつれて、コンテナは両方のテーブルを再構成しないとコンテナがクリーンアップされません)。
ありがとう@woot !!、INSERT/* + DIRECT * /を使用していますが、そのパフォーマンスはcopyコマンドほど良くありません。 1百万レコードをロードするのに時間がかかります。 – Biswabid
@Biswabidシーケンスを使用していますか?ソース表とターゲット表の間で投影がセグメント化されていますか? – woot
はい、私はその場所に配列を持っています。ソースとターゲットの予測についてはわかりませんが。 – Biswabid