이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 14.4. 토토 결과베이스 채우기버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

10.4. 데이터베이스 채우기

먼저 데이터베이스를 채우고 있습니다. 다음은 몇 가지 팁과 기술입니다 가능한 한 효율적으로 만들기 위해.

10.4.1. 자동 커밋 비활성화

AutoCommit을 끄고 마지막에 커밋을 수행하십시오. (안에 일반 SQL, 이것은 발행을 의미합니다시작at 시작과커밋끝에. 일부 클라이언트 라이브러리는 등 뒤에서이 작업을 수행 할 수 있습니다. 원할 때 라이브러리가 수행해야합니다. 완료.) 각 삽입이 별도로 커밋되면무지개 토토많은 일을하고 있습니다 추가 된 각 레코드에 대한 작업. 모든 일의 추가 혜택 한 트랜잭션의 삽입은 하나의 삽입이 레코드가 실패한 후 삽입 된 모든 레코드의 삽입 그 시점까지 롤백이되므로 붙어 있지 않습니다. 부분적으로로드 된 데이터.

10.4.2. 에서 사본 사용

usestdin에서 복사모든 것을로드합니다 일련의를 사용하는 대신 한 명령의 레코드삽입명령. 이것은 구문 분석, 계획, 등 머리 등. 당신이 이것을한다면 그렇지 않습니다 AutoCommit이 하나의 명령에 지나지 않기 때문에 끄기가 필요합니다. 그래도.

10.4.3. 인덱스 제거

새로 생성 된 테이블을로드하는 경우 가장 빠른 방법 테이블을 만드는 것입니다.COPY, 그런 다음 필요한 색인을 만듭니다 테이블. 기존 데이터에 대한 인덱스를 만드는 것은보다 빠릅니다 각 레코드가로드됨에 따라 점차적으로 업데이트됩니다.

기존 테이블을 보강하는 경우Drop Index, 테이블을로드 한 다음 재현하십시오 색인. 물론 다른 사용자의 데이터베이스 성능은 가능합니다 인덱스가있는 시간 동안 부정적인 영향을받습니다. 없어진. 독특한 것을 떨어 뜨리기 전에 두 번 생각해야합니다 고유 한 오류 검사 이후 인덱스 인덱스가 누락 된 상태에서 제약이 손실됩니다.

10.4.4. 나중에 분석 실행

실행하는 것이 좋습니다분석또는진공 분석언제든지 추가 할 때 또는 처음에 직후를 포함하여 많은 데이터를 업데이트했습니다 테이블을 채우기. 이를 통해 플래너에게는 보장됩니다 표에 대한 최신 통계. 통계가 없거나 쓸모없는 통계, 플래너는 쿼리의 선택이 좋지 않을 수 있습니다. 계획, 당신의 테이블.