2011-10-06 4 views
5

아카이브 스토리지 엔진 테이블이 있으며이를 정리하고 싶습니다. delete 또는 truncate도 엔진 정의로 인해 작동하지 않습니다. 그러나 전체 테이블을 다시 작성하는 것보다 다른 방법이 있습니까?mysql truncate archive table

+0

방금 ​​테이블을 삭제하고 다시 만들 수는 있겠지만 왜 'DELETE FROM table'작업을하지 않았을까요? 어떤 엔진을 사용하고 있습니까? – Ben

답변

9

Bug #15558 truncate doesn't clear table on archive storage engine tables

는 기본적으로, 디자이너는 그런 식으로 일을하고 싶었을 참조하십시오. 이 버그 수정은 ARCHIVE 스토리지 엔진에 저장된 테이블에서자를 때 에러를 반환하도록하는 것이 었습니다.

유일한 대안은 DROP 및 다시 테이블 만들기입니다.

+0

나는이 문제에 대한 해결 방법이 있었으면 좋겠어 ... 고마워. – Vilius

17

또 다른 해결 방법은 BLACKHOLE 테이블로 변경 한 다음 다시 변경하는 것입니다.

+1

그게 테이블을 잘라내는 재미있는 방법이 아니라면 ... –

+1

이것을 테스트 한 결과 나는 그것이 효과적이라는 것을 발견했습니다. .ARZ 파일은 테이블 정의를 다시 작성할 필요없이 재설정됩니다. – nullability

+0

이것은 더 나은 대답입니다. – ilikesleeping

관련 문제