MySQL Workbench를 사용하여 수백만 행의 MyISAM 테이블을 InnoDB로 변경했습니다. 나는 테이블을 복제 한 후에 ALTER TABLE...
과 INSERT INTO othertable SELECT * FROM mytable
에 의해 그것을 시험해 보았지만, 테이블이 너무 크다고 보인다. 서버에 대한 연결이 끊어진 에 대한 오류로 인해 워크 벤치가 종료됩니다..거대한 MyISAM 테이블을 청크로 InnoDB로 내보내는 방법은 무엇입니까?
그래서 나는 10000 개의 엔트리마다 너무 많은 수를 반복하는 SQL 스크립트를 작성할 수 있고, 청크 내 MyISAM 테이블의 내용을 InnoDB 테이블에 복사 할 수 있다고 생각했다.
루프를위한 SQL이없는 것 같기 때문에 누군가가 이것을 실현하는 방법을 제안했는지 궁금합니다.
INSERT INTO `latest`.`AUTHORS` (author_id, author_name)
SELECT
`author_names`.`author_name_id`,
`author_names`.`name`
FROM `pubmap_latest`.`dblp_author_names`;
이것은 청크로 실행하려는 쿼리입니다. count(*)
-query는 985330 개의 행을 반환합니다.
타 옵션도 수출/일반 텍스트 파일을 통해 테이블을 가져올 수 있습니다. –
@ Scorpi0 :이 시간이 오래 걸리지 않을까요? – Aufwind
한 번 작동하는 경우 오랜 시간이 걸릴지 걱정하지 않아도 작동합니다. 일상적인 일이라면 더 큰 문제가 있습니다. –