2012-03-14 2 views
1

현재 실행 당 200,000 개의 행으로 점진적으로 1100 만 개의 테이블이 900 만 개의 행을 삭제 중입니다.MYSQL에서 대용량 삭제가있는 innodb 테이블을 수동으로 다시 빌드해야합니까?

수동으로 테이블과 인덱스를 다시 만들어야합니까, 아니면 삭제할 때마다 자동으로 발생합니까?

+0

나는 질문을 이해하지? 행을 삭제하면 테이블 자체가 삭제된다는 인상을 받고 있습니까? 또는 귀하의 ID 열이 더 이상 순차적이지 않을 것이라고 염려하고 있습니까 (이는 정상입니까)? – deltree

+0

innodb 테이블에서 행을 삭제할 때 테이블을 다시 작성해야한다고 들었는데 자동으로 실행 되나요, 아니면 수동으로해야합니까? – user989990

답변

1

예, 수동으로 테이블을 다시 작성해야합니다, 당신은 다음과 같이 수행 할 수 있습니다 :

ALTER TABLE database.table ENGINE=InnoDB; 
+0

나는 명령을 실행하고 30,000 개를 제외한 모든 행을 삭제했습니다. 왜 그렇게 되었습니까? – user989990

+0

'show innodb status'가 어떤 통찰력을 주는지 확인하십시오. –

+0

내가 특별히 찾아야 할 것이 있습니까? 긴 목록입니다. – user989990