2010-01-18 4 views
2

특히 큰 테이블을 업데이트 할 때 인덱스가 다시 작성되는 동안 테이블이 잠겨 있기 때문에 업데이트 시간이 초과되었습니다. 업데이트가 시간 초과되지 않도록 색인을 온라인 (즉, Oracle)으로 다시 작성할 수 있습니까?타임 아웃을 방지하기 위해 InnoDB 인덱스를 온라인으로 재구성 하시겠습니까?

+0

단일 행 업데이트 또는 대량 업데이트 용입니까? 인덱스를 삭제하고 업데이트를 수행 한 다음 인덱스를 다시 만들 수 있습니까? –

+0

이것은 하나의 행에 대한 것이지만 다중 사용자 시스템이며 인덱스를 다시 작성할 때까지이 테이블을 업데이트하면 테이블이 잠 깁니다. 이로 인해 동일한 테이블의 다른 행에 대한 업데이트를 제출하는 다른 사용자의 시간 초과 오류가 발생합니다. –

답변

0

간단한 대답 : 아니오, 없습니다.

더 복잡한 대답 : 온라인 인덱스 추가는 명령문 기반 복제를 사용하고 먼저 슬레이브에 색인을 추가 한 다음 마스터로 만들면 에뮬레이트 할 수 있습니다. 이것이 사람들이 http://mysql-mmm.org/과 같은 패키지를 사용하는 이유입니다.

관련 문제