반응형
mysqldump로 만든 InnoDB 테이블의 8GB MYSQL 데이터베이스 덤프가 있습니다. 다음을 사용하여 데이터를 가져옵니다.
mysql -uroot -p my_db < dump.sql
한 시간 내에 5GB의 DB 덤프를 가져 왔습니다. 8GB 덤프는 50 시간이 걸리며 계산됩니다. 내가 프로세스 목록을 검사했을 때
프로세스 목록 표시;
대부분의 경우 " 'freeing items"상태로 표시되는 단일 INSERT 쿼리가있었습니다.
원시 파일을 복사하는 것 외에도 가져 오기 프로세스의 속도를 높일 수있는 방법이 있습니까?
해결 방법
실제로 비결은 가장 큰 단일 테이블이 innodb 버퍼 풀에 맞는지 확인하는 것입니다. 그렇지 않으면 삽입 (물론 가져 오기) 속도가 매우 느려집니다.
전체 데이터베이스의 크기는 중요하지 않지만 가장 큰 단일 테이블입니다.
훨씬 더 큰 데이터베이스의 경우 파일 시스템 스냅 샷과 같은 데이터베이스 전송의 대체 방법을 고려할 수 있습니다. 물론 이것은 시스템이 동일한 버전의 데이터베이스, OS 및 아키텍처를 실행하는 경우 가장 잘 작동합니다.
참조 페이지 https://stackoverflow.com/questions/6093921
반응형
'MySql' 카테고리의 다른 글
MySQL MYSQL에서 동적 SQL로 커서 만들기 (0) | 2020.10.07 |
---|---|
MySQL datetime where 절 쿼리 도움말 (0) | 2020.10.07 |
MySQL Group by SUM (0) | 2020.10.07 |
MySQL 일, 주, 월, 연도 별 통계 보유를위한 데이터베이스 구조 (0) | 2020.10.07 |
MySQL delete duplicate records but keep latest (0) | 2020.10.07 |
댓글