2011-04-25 25 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