400 만 개의 행이있는 MyISAM 테이블이있는 MySQL 데이터베이스가 있습니다. 일주일에 한 번이 테이블을 약 2000 개의 새 행으로 업데이트합니다. 업데이트 한 후, 나는 다음과 같은 테이블을 변경 :매우 큰 테이블의 MySQL ALTER TABLE - 실행하는 것이 안전할까요?
ALTER TABLE x ORDER BY PK DESC
나는 내림차순으로 기본 키 필드로 테이블을 주문한다. 이것은 제 개발 기계 (3GB 메모리가있는 Windows)에서 제게 어떤 문제도주지 않았습니다. 3 번 나는 실제 Linux 서버 (512MB RAM - 그리고 매번 약 6 분 동안 결과로 정렬 된 테이블을 얻음)에서 성공적으로 시도했지만, 마지막으로 시도한 결과 약 30 분 후에 쿼리를 중단하고 다시 빌드해야했습니다. 데이터베이스를 백업합니다.
512MB 서버가 그러한 큰 테이블의 alter 문을 처리 할 수 있습니까? ALTER TABLE 명령을 수행하기 위해 임시 테이블이 작성되었음을 읽었습니다.
질문 :이 변경 명령을 안전하게 실행할 수 있습니까? 테이블 변경 예상 시간은 얼마입니까?
"매우 큰 테이블"은 아마도 과장된 것 같습니다. 4M 행은 매우 큰 테이블이 아닙니다. 10 억은 될 수 있습니다. – MarkR