2012-09-27 3 views
1

6.5G 오버 헤드가있는 MySQL MyISAM 테이블이 있습니다. 테이블을 최적화해야하는지 아니면 새 테이블을 작성하여 이전 테이블에서 채우고 이름을 바꿔야하는지 의심 스럽습니다.mysql 테이블을 최적화하거나 새로운 테이블을 생성하십시오.

이것은 프로덕션 환경이므로 가동 중지 시간은 가능한 적어야합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

+0

MyISAM 또는 InnoDB 테이블입니까? –

+0

이미 내 게시물을 편집했습니다 :) 그것은 MyISAM – Nin

답변

0

새 테이블을 만들고 데이터를 이항하면 원본은 여전히 ​​읽을 수 있지만, 쓰기를 허용하는 경우 복사본이 완료된 후에 해당 쓰기를 옮겨야합니다. 최적화 절차는 작업이 완료 될 때까지 쓰기를 허용하지 않으므로보다 안정적입니다.하지만 작업이 중단되는 것을 유의하십시오.

문제를 일으킬 수있는 충분한 쓰기 작업이 있는지 여부에 따라 달라집니다.

테스트 컴퓨터의 백업에서이 데이터베이스를 복원하고 프로덕션 시스템에서 커밋하기 전에 여러 가지 방법으로이 작업을 수행해야합니다.

+0

입니다.하지만이를 최적화하려면 myisam 정렬 버퍼가 너무 느려 테이블을 손상시킨 다음 수리해야합니다. 새 테이블을 만드는 것이 훨씬 낫습니다 (이 경우). – Nin

관련 문제