MySQL Admin Migration 툴킷을 사용하여 데이터베이스에서 데이터를 덤프했습니다. 테이블 중 하나에 500 만 개의 행이 있습니다. 생성 된 데이터 파일을로드하려고하면 메모리 문제가 발생합니다.500 만 개가 넘는 행의 MySQL 삽입 - x 개의 행마다 커밋 옵션이 필요합니까?
X 행 이후에 강제로 커밋하는 방법이 있습니까? 마이그레이션 도구 키트에서 생성 한 스크립트는 다음과 같습니다.
INSERT INTO mytable (`col1`, `col1`)
VALUES (823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
(823, 187.25),
정말로 여러 번 커밋하고 싶습니까? 나중에 무언가가 실패하면 일관성없는 데이터로 끝날 것입니다. –
그것은 원하는 것이 아닙니다. 다른 방법으로는 내 지식이 없습니다. 커밋 공간을 기가 바이트로 늘리면 오라클에서 작동하지만 MySQL에서는 간단히 작동하지 않을 수도 있습니다. 그것은 결국 장난감 데이터베이스입니다. –
맞습니다.하지만 롤백 기능이 중요하다면, 어쨌든 삽입을 다시 포맷하거나 적어도 일시적으로 INNODB 버퍼 크기를 늘려야합니다. MySQL에서 버퍼 크기를 알 수있는 유일한 제한은 시스템 메모리이지만, 틀릴 수도있다. –