PostgreSQL에서 많은 수의 행을 삭제하는 가장 효율적인 방법이 궁금합니다.이 프로세스는 매일 대량의 데이터 (삽입 + 삭제 델타)를 테이블로 가져 오는 반복 작업의 일부입니다. 삭제할 수천 개, 잠재적으로 수백만 개의 행이있을 수 있습니다.
기본 키 파일이 한 줄에 하나씩 있습니다. 내가 생각한 두 가지 옵션은 아래의 내용을 따르지만 PostgreSQL의 내부를 충분히 이해하지 못하여 가장 적합한 결정을 내릴 수 있습니다.
- 기본 키를
DELETE
단순하게 사용하여 파일의 각 행에 대해 쿼리를 실행합니다WHERE
(또는 절 을n
사용하여 일괄 적으로 삭제 그룹화IN()
) COPY
명령을 사용하여 기본 키를 임시 테이블로 가져온 후 조인을 사용하여 기본 테이블에서 삭제
어떤 제안이라도 대단히 감사하겠습니다!