나는 약 50 억 개의 행을 가진 MySQL 데이터 테이블을 가지고 있습니다. 이 데이터를 읽음으로써 계산을 실행해야하며 계산 된 데이터 (원래 데이터의 표준화 된 형식)를 다른 InnoDB 테이블에 기록해야합니다.InnoDB 테이블 대량 삽입
우리가 현재 가지고있는 설치 프로그램은 컴퓨터와 데이터베이스가 함께있는 가상 클라우드이므로 컴퓨터 DB 연결은 매우 빠릅니다.
데이터에서 발생하는 계산은 매우 빠르며이 전체 프로세스의 병목 현상은 표준화 된 데이터를 InnoDB 테이블에 삽입하는 것입니다 (표준화 된 데이터에는 몇 가지 지표가 포함되어 있습니다. 길지 않아 삽입 속도가 느려짐).
아쉽게도 innodb_log_file_size (우리는 Amazon AWS를 사용하고 있습니다)와 같은 특정 시스템 변수를 수정할 수 없으므로 삽입 성능을 향상시킬 수 있습니다.
이 데이터를 모두 MySQL로 푸시하는 것이 최선의 방법은 무엇입니까? 계산 과정이 간단하기 때문에, 나는 표준화 된 데이터를 가져 와서 어떤 형식 으로든 출력하는 Python 스크립트를 꽤 많이 작성할 수 있습니다. 계산이 발생할 때마다이 데이터를 즉시 삽입하는 것은 매우 느리며 시간이 지남에 따라 느려집니다.
InnoDB 테이블에 대량 데이터를 삽입하는 가장 좋은 프로세스는 무엇입니까 (입력 형식 및 실제 가져 오기 측면에서)? 이 경우
귀하의 의견에 감사드립니다. 나는 당신이 말하는 것을 조금 혼란스러워합니다. 내 테이블 (데이터가있는 원래 테이블과 표준 데이터를 포함 할 대상 테이블)은 모두 동일한 MySQL 인스턴스에 있습니다.계산 된 값을 표준화 된 테이블에 삽입하는 가장 빠른 방법을 찾아야합니다. 다른 것이 명확하지 않으면 알려주세요! – user1094786
첫 번째 테이블은 거대한 테이블이므로 작은 테이블에만 관련 데이터를 추출하고 새 필드를 계산하고 두 번째 테이블을 업데이트하십시오. ** mysqldump **를 선호 ** 테이블에서 임시 테이블 select *를 생성하십시오. 여기서 <> **는 잠금을 방지합니다. – georgecj11