정기적으로 mysqlcheck(또는 데이터베이스 최적화) 일정을 예약해야 할까요?

정기적으로 mysqlcheck(또는 데이터베이스 최적화) 일정을 예약해야 할까요?

우리는 약 200만 개의 게시물이 있는 포럼을 운영하고 있으며 그대로 두면 mySQL(phpMyAdmin에 나열된)의 오버헤드가 상당히 커질 수 있음(수백 메가바이트)을 발견했습니다.

테이블을 최적화하기 위해 일반적인 mysqlcheck를 예약하는 것이 좋은 방법인지 궁금합니다. 예를 들어 일주일에 한 번 사용량이 적은 시간에 하지 않을 이유가 있습니까?

여름 동안 mysql이 모든 리소스를 사용하여 사이트가 지속적으로 충돌하는 경우가 있었습니다. 그때 엄청난 양의 오버헤드를 발견하고 데이터베이스를 최적화했으며 그 이후로는 안정성에 아무런 문제가 없었습니다. 이것이 문제를 완화하는 데 도움이 된다면 이 작업을 자동으로 수행하도록 크론을 설정해야 한다고 생각했습니다.

답변1

필요하지 않은 경우 mysqlcheck를 수행하지 않는 이유는 mysqlcheck가 데이터베이스에 대한 읽기 잠금을 획득하여 읽기 잠금이 유지되는 동안 잠긴 테이블에 대한 쓰기를 방지하기 때문입니다.

포럼을 사용할 수 없게 되면 cron을 통해 mysqlcheck를 예약하는 것이 합리적이지만 그렇게 자주는 아닙니다.

//신자

관련 정보