구문

2011-04-25 2 views
-2

가능한 중복 :
syntax for COPY in 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)) 

은 어떻게 시간을 줄이기 위해이 쿼리에 대한 복사 명령을 사용할 수 있습니까?

+0

같은 질문을 두 번 게시하는 이유는 무엇입니까? 여기에있는 답변을 좋아하지 않으셨습니까? http://stackoverflow.com/questions/5778005/syntax-for-copy-in-postgresql/5778503#5778503 –

답변

0

은 파일과 테이블간에 데이터를 복사하는 데 사용됩니다. COPY TO은 테이블의 내용을 파일로 복사하는 데 사용됩니다.

create table contacts_lists as select...을 사용하면 빠른 속도로 테이블을 만들 수 있지만 그럴 수는 없습니다.

0

COPY은 파일과 테이블간에 데이터를 복사합니다.

COPY을 사용하면 시간을 단축하지 않습니다.

+0

감사합니다. 이 쿼리는 실행하는 데 더 많은 시간이 걸립니다. 이 시간을 줄이기 위해 다른 해결책을 주시겠습니까? – Rafiu