2011-04-25 61 views
-2

可能重複:
syntax for COPY in postgresql語法COPY在PostgreSQL中

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命令爲此查詢,以減少時間?

+0

爲什麼你兩次發表相同的問題?難道你不喜歡你在這裏得到的答案:http://stackoverflow.com/questions/5778005/syntax-for-copy-in-postgresql/5778503#5778503 – 2011-04-25 15:57:08

回答

0

COPY用於在文件和表格之間複製數據。 COPY TO用於將表格的內容複製到文件中。

如果您可以通過更快速地使用create table contacts_lists as select...來創建表格,但似乎並非如此。

0

COPY在文件和表格之間複製數據。

您不會使用COPY減少時間。

+0

謝謝。此查詢需要更多時間來執行。請給我任何其他解決方案,以減少時間。 – Rafiu 2011-04-25 14:14:51