伊谢尔伦2017-04-17 16:46:52
대형 MySQL 테이블에 필드를 추가하는 아이디어는 다음과 같습니다.
<올> <리>임시 새 테이블을 생성하고 먼저 이전 테이블의 구조(인덱스 포함)를 복사합니다.
old_table처럼 new_table 테이블을 생성합니다.
새 테이블에 새 필드 추가
이전 테이블에서 데이터 복사
new_table(filed1,filed2…)에 삽입 old_table에서 file1,filed2,… 선택
기존 테이블을 삭제하고 새 테이블의 이름을 기존 테이블의 이름으로 바꿉니다.
세 번째 단계를 수행할 때 이 과정에도 시간이 걸릴 수 있다는 점에 유의해야 합니다. 이때 새로운 데이터가 들어오기 때문에 원본 테이블에 데이터의 쓰기 시간을 기록하는 필드가 있으면 가장 좋습니다. , 데이터에 대해 이 단계를 수행하고 데이터 차이가 매우 작아질 때까지 새 테이블로 가져오기를 반복합니다. 그러나 매우 적은 양의 데이터가 여전히 손실될 수 있습니다.
따라서 테이블의 데이터가 특히 크고 데이터 무결성을 보장해야 하는 경우 작업을 종료하는 것이 가장 좋습니다.