본문 바로가기
MySql

MySQL 정렬하여 수리 하시겠습니까?

by 베이스 공부 2020. 10. 19.
반응형

localhost를 업데이트 한 다음 업데이트 된 결과를 remotehost에 덤프하는 스크립트가 있습니다.

mysqldump --skip-tz-utc --no-create-info --insert-ignore --host=localhost -u u -ppass db table --where=\"timeStamp > FROM_UNIXTIME( $time )\" | mysql -h remote -u u -ppass db

20 개의 레코드를 사용하면 localhost에 대한 업데이트는 매우 빠르지 만 (몇 초) remotehost로 덤프하는 데 4 분이 넘게 걸립니다. mysql workbench를 보면 원격 호스트의 상태가 "Repair by Sorting"이라고 표시되고 정보 열은 "/ *! 40000 ALTER TABLE 'table'ENABLE KEYS * /"입니다.

이 메시지는 무엇을 의미합니까 (그리고 레코드가 거의없는 원격 호스트에 덤프하는 데 시간이 너무 오래 걸리는 이유는 무엇입니까)?

고마워

 

해결 방법

 

mysqldump 는 인덱스를 비활성화하고, 레코드를 삽입하고, 인덱스를 다시 활성화합니다. 즉, 시간에 따라 예상되는 더 많은 레코드를 포함하여 전체 테이블에 영향을 미칩니다.

mysqldump 에 대한 인수에 -skip-disable-keys 를 추가하면 더 이상 발생하지 않습니다.

 

참조 페이지 https://stackoverflow.com/questions/4999298

 

 

반응형

댓글