왕복 횟수가 처리량을 가른다
1000개의 INSERT를 따로 보내면 1000번 왕복하지만, 1000행을 한 INSERT로 보내면 왕복은 한 번이야. 행별 INSERT와 여러 행 INSERT 사이에는 보통 50-100× 차이가 나고, 아주 큰 적재에서는 COPY가 여러 행 INSERT보다 다시 한 자릿수 배 더 빠를 수 있어.
큰 입력은 COPY로 흘려보내
COPY FROM STDIN은 행마다 SQL을 해석하지 않고 데이터를 테이블로 직접 보내. 로컬 파일은 \copy로 전송할 수 있고, 10억 행을 적재할 때는 \copy나 pgloader의 binary COPY를 검토해. 텍스트 COPY보다 binary COPY가 파싱 비용까지 줄여 더 빠를 수 있어.
크기에 맞는 도구를 골라
일반 앱 쓰기는 여러 행 INSERT, 큰 가져오기·ETL·seed는 COPY가 맞아. 10만 행으로 세 방식을 직접 재봐.