私はpostgresql(および一般的なデータベース)に不慣れであり、次のステートメントの効率を改善するためのいくつかの指針を得ることを望んでいました。
あるテーブルから別のテーブルにデータを挿入していますが、重複する値を挿入したくありません。インデックスが付けられ、主キーであるrid(各テーブルに一意の識別子)があります。
私は現在、次のステートメントを使用しています。
INSERT INTO table1 SELECT * FROM table2 WHERE rid NOT IN (SELECT rid FROM table1).
現在、テーブル1は200,000レコード、テーブル2は20,000レコードです。Table1は成長を続け(おそらく約2,000,000まで)、table2は約20,000レコードを維持します。現在のところ、ステートメントの実行には約15分かかります。Table1が大きくなるにつれて、これが長くなるのではないかと心配しています。助言がありますか?