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

13.4. 스포츠 토토 사이트베이스 채우기

처음있을 때 많은 양의 스포츠 토토 사이트를 삽입해야 할 수도 있습니다. 스포츠 토토 사이트베이스를 채우고 있습니다. 이 섹션에는 몇 가지 제안이 포함되어 있습니다 이 프로세스를 가능한 한 효율적으로 만드는 방법.

13.4.1. 장애를 입히다 자동 커밋

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

13.4.2. 사용copy

use사설 토토 : 문서 : 8.1 : Copy모두로드하려면 일련의를 사용하는 대신 한 명령의 행삽입명령. 그만큼copy명령은 크게로드하기 위해 최적화되었습니다 행의 수; 보다 유연하지 않습니다.삽입이지만 오버 헤드가 상당히 덜 발생합니다 큰 스포츠 토토 사이트로드. 부터COPYis 단일 명령, 당신이 가면 자동 커밋을 비활성화 할 필요가 없습니다. 이 방법을 사용하여 테이블을 채우십시오.

사용할 수없는 경우copy, 도움이 될 수 있습니다 사용하려면PostgreSQL : 문서 : 8.1 : 토토to 준비된 생성삽입성명서, 그리고 사용execute여러 번 필수의. 이것은 반복적으로 오버 헤드를 피합니다 구문 분석 및 계획삽입.

많은 수의 행을 사용하여COPY사용하는 것보다 거의 항상 빠릅니다삽입준비가 사용되고 여러 삽입이 있습니다 단일 거래로 배치되었습니다.

13.4.3. 인덱스 제거

새로 생성 된 테이블을로드하는 경우 가장 빠른 방법 is to create the table, bulk load the table's data usingCOPY, 필요한 색인을 만듭니다 테이블 용. 기존 데이터에 대한 인덱스 생성은 다음과 같습니다 각 행처럼 점진적으로 업데이트하는 것보다 빠릅니다 짐을 실은.

기존에 많은 양의 데이터를 추가하는 경우 테이블, 인덱스를 삭제하고 테이블을로드하는 것은 승리 일 수 있습니다. 그런 다음 색인을 재현하십시오. 물론 데이터베이스 성능 다른 사용자는 시간 동안 부정적인 영향을받을 수 있습니다. 인덱스가 누락되었습니다. 또한 전에 두 번 생각해야합니다 오류 검사가 제공 한 이후 고유 인덱스를 삭제합니다 인덱스가있는 동안 독특한 제약이 손실됩니다. 없어진.

13.4.4. 외국 키를 제거하십시오 제약 조건

인덱스와 마찬가지로 외국의 주요 제약 조건은 점검"대량"보다 효율적으로 줄보다. 따라서 외국 키를 떨어 뜨리는 것이 유용 할 수 있습니다 제약,로드 스포츠 토토 사이트 및 제약 조건을 다시 창출합니다. 다시, 스포츠 토토 사이트로드 속도와 오류 손실 사이에 상충 관계가 있습니다. 제약 조건이 누락 된 상태에서 확인합니다.

13.4.5. 증가하다Maintenance_Work_Mem

일시적으로 증가하는maintenance_work_mem구성 변수 다량의 스포츠 토토 사이트를로드 할 때 성능 향상으로 이어집니다. 이것은 속도를 높이는 데 도움이 될 것입니다색인 생성명령 및Alter Table Add Foreign Key명령. 그렇지 않습니다 에 대해 많은 일을하십시오COPY자체 조언은 하나 또는 둘 다를 사용할 때만 유용합니다. 위의 기술.

13.4.6. 증가하다Checkpoint_segments

일시적으로 증가하는Checkpoint_segments구성 변수는 큰 스포츠 토토 사이트로드를 더 빨리 만들 수 있습니다. 많은 양의 스포츠 토토 사이트를로드하기 때문입니다PostgreSQL원인이 될 것입니다 체크 포인트는 일반 체크 포인트보다 더 자주 발생합니다 주파수 (에 의해 지정됨Checkpoint_Timeout구성 변수). 체크 포인트가 발생할 때마다 모든 더러운 페이지를 플러시해야합니다. 디스크에. 증가함으로써Checkpoint_segments일시적으로 벌크 스포츠 토토 사이트 중 하중, 필요한 체크 포인트 수는 줄인.

13.4.7. 달리다분석나중에

분포를 크게 변경할 때마다 테이블 내 스포츠 토토 사이트, 실행Analyze강력히 권장됩니다. 이것 대량의 스포츠 토토 사이트가 많은 양의 스포츠 토토 사이트를 테이블에 포함시킵니다. 달리기분석(또는진공 분석)는 플래너에 보장합니다 표에 대한 최신 통계. 통계가 없거나 구식 통계에 따르면, 플래너는 그 동안 열악한 결정을 내릴 수 있습니다 쿼리 계획, 모든 테이블에서 성능이 저하됩니다. 부정확하거나 존재하지 않는 통계.

13.4.8. 에 대한 몇 가지 메모pg_dump

덤프 스크립트에 의해 생성pg_dump자동으로 몇 가지를 적용하지만 위의 지침 중 하나는 아닙니다. a를 새로 고침하려면pg_dump가능한 빨리 덤프하십시오 수동으로 몇 가지 추가 작업을 수행해야합니다. (이 점들을 참조하십시오 적용 중복원덤프, 덤프가 아닙니다생성it. 같은 점 사용시 적용PG_RESTOREto A에서로드pg_dump아카이브 파일.)

기본적으로pg_dump용도COPY, 그리고 그것이 생성 될 때 a 스키마 및 데이터 덤프 완전한 데이터를로드하는 것이 신중합니다 인덱스와 외국 키를 만들기 전에. 이 경우 먼저 몇 가지 지침이 자동으로 처리됩니다. 무엇인가요 당신이 할 수있는 것은 적절한 것을 설정하는 것입니다 (즉, 더 큽니다. 정상)maintenance_work_memandCheckpoint_segments덤프를로드하기 전에 스크립트, 실행분석나중에.

스포츠 토토 사이트 전용 덤프가 여전히 사용됩니다COPY그러나 인덱스를 삭제하거나 재현하지는 않습니다. 그리고 그것은 일반적으로 외국 열쇠를 만지지 않습니다.[1]스포츠 토토 사이트 전용 덤프를로드 할 때 인덱스와 외국 키를 삭제하고 재현하는 데 도움이됩니다. 당신은 이러한 기술을 사용하고 싶습니다. 여전히 유용합니다Checkpoint_segments로드하는 동안 스포츠 토토 사이트이지만 증가하지 마십시오maintenance_work_mem; 오히려, 당신은 그렇게 할 것입니다 그 후에 인덱스와 외국 키를 수동으로 재현하는 동안. 그리고 잊지 마세요분석언제 당신은 끝났습니다.

노트

[1]

사용하여 외래 키를 비활성화하는 효과를 얻을 수 있습니다. 그만큼-X 비활성화 트리거옵션 - 그러나 연기가 아니라 제거한다는 것을 깨달았습니다. 외국 키 검증이므로 나쁜 삽입이 가능합니다. 사용하는 경우 데이터.