既存の索引がCOPY FROMのパフォーマンスに及ぼす影響

indexing postgresql sqlbulkcopy

質問

COPY PostgreSQLのリファレンス文書を読んだ後、私はCOPYがどのようにインデックスを扱うのか分かりませんでした。テーブルにすでにインデックスがある場合、ファイルからテーブルにデータをコピーするときに、正確に何が起こりますか?これらのインデックスが最初に自動的に破棄され、読み込み後に再作成されるかどうかは疑問です。

受け入れられた回答

マニュアルには、その質問を扱う別のデータベースがあります。そのアドバイス:

新しく作成した表をロードする場合は、表を作成し、 COPYを使用して表のデータを一括ロードし、表に必要な索引を作成します。既存のデータに索引を作成する方が、各行がロードされるたびに段階的に更新するよりも迅速です。

すべてのクリア、右か?しかし、ページを読んで、おそらくあなたのためにもっとあります。


人気のある回答

COPYは現在、インデックスに特別なことはありません。

索引付けされた表に挿入する必要がある場合は、COPYとバッチ処理されたINSERTの間にパフォーマンスの違いはほとんどありません。

したがって、インデックスを削除できない場合は、データの現在のフォーマットで最も便利なコマンドを使用してください。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ