programing

Mariadb - 확장된 삽입 실행 시간이 점차적으로 증가하고 있습니다.

topblog 2023. 10. 25. 21:58
반응형

Mariadb - 확장된 삽입 실행 시간이 점차적으로 증가하고 있습니다.

저는 6억 5천만 개의 레코드를 한 테이블에 넣어야 합니다.확장 삽입LOAD DATA LOCAL INFILE 방법을 시도해 보았습니다.

확장 삽입 결과:

저는 데이터를 분할했고 모든 확장 인서트에는 1250000개가 포함되어 있습니다.모든 배치가 점차 실행 시간이 늘어나는 등의 문제에 직면해 있습니다.

Batch 1 completed in 40s
Batch 2 completed in 50s
Batch 3 completed in 60s
Batch 4 completed in 80s
Batch 5 completed in 100s

완성하는 데 15-20시간이 걸릴 것입니다.

데이터 로컬 파일 결과 로드

CSV 파일 크기가 40G인데, 500개로 나누었습니다.그 다음에 Mysql에 실었습니다.또한 동일한 문제에 직면해 있습니다. 파일 로드 시마다 실행 시간이 늘어납니다.

enter image description here

참고용 테이블 구조:

enter image description here

예상되는 동작일 경우 데이터를 빠르게 가져올 수 있는 다른 방법은 없습니까?

데이터를 기준으로 정렬합니다.PRIMARY KEY. MySQL로 정렬하는 것보다 정렬 명령으로 40GB 파일을 정렬하는 것이 더 빠를 것 같습니다.

세트innodb_buffer_pool_size사용 가능한 RAM의 약 70%에 도달할 수 있습니다.램을 얼마나 가지고 있습니까?

가지세요PRIMARY KEY이미 확정된

보조 인덱스가 없습니다.FOREIGN KEYs또는 트리거(Triggers.나중에 추가합니다.네, 시간이 걸립니다.

이 모든 인덱스가 정말로 필요한지 확인합니다.

10바이트보다 작은 것을 선택하면 데이터를 약간 줄일 수 있습니다.DECIMAL(20,6).

언급URL : https://stackoverflow.com/questions/68253460/mariadb-every-batch-of-extended-insert-execution-time-is-increasing-gradually

반응형