-2

重複の可能性:
postgresql の COPY の構文

INSERT INTO contacts_lists (contact_id, list_id)
          SELECT contact_id, 67544
          FROM plain_contacts
          WHERE TRUE
                AND is_print = TRUE  AND TRUE  AND (NOT EXISTS (select title_id from company_types_lists_titles where company_types_list_id = 55321) OR title_id in (select title_id from company_types_lists_titles where company_types_list_id = 55321))             AND company_type_id = 7
            AND country_id IN (select country_id from countries_lists WHERE list_id = 67544)
                  AND ((state_id IS NULL OR country_id NOT IN (231,39) OR state_id IN (SELECT state_id FROM lists_states WHERE list_id = 67544))
        OR zone_ids && ARRAY(SELECT zone_id FROM lists_zones WHERE list_id = 67544)
      )

            AND (NOT EXISTS (select award_id from company_types_lists_top_awards where company_types_list_id = 55321) OR top_award_ids && ARRAY(select award_id from company_types_lists_top_awards where company_types_list_id = 55321))

このクエリに copy コマンドを使用して時間を短縮するにはどうすればよいですか?

4

2 に答える 2

0

COPYファイルとテーブルの間でデータをコピーします。

を使用して時間を短縮することはできませんCOPY

于 2011-04-25T14:11:02.280 に答える
0

COPYは、ファイルとテーブルの間でデータをコピーするために使用されます。COPY TOは、テーブルの内容をファイルにコピーするために使用されます。

その場でテーブルを作成できれば、より高速に使用できますcreate table contacts_lists as select...が、そうではないようです。

于 2011-04-28T15:10:13.733 に答える