본문 바로가기

프로그래밍/MySQL

실수로 용량이 큰 테이블에 OPTIMIZE TABLE을 실행 했을 때

반응형

용량이 14gb에 달하는 테이블을 아무런 생각도 없이 PMA에서 "테이블 최적화" 를 눌러버렸다.

서버에서 그 즉시 mysql 프로세스가 먹는 메모리와 CPU가 급증하고 멈추기만을 기다렸다.

 

장장 7시간이 넘게 소요되었다.. 이걸 강제로 멈춘다면 테이블이 crash가 발생할수도 있다라는 글을 여럿 발견하고는 아무런 일도 할수 없었다.

그럼 이 작업이 언제 끝났는지를 알수 있었냐면, PMA또는 터미널상에서의 mysql command를 통해 가능하다.

 

PMA 에서는 "서버 > 상태 > 프로세스" 로 접근하면, 당당히 목록에 "OPTIMIZE TABLE XXX"가 열심히 작업 중일 것이다..

터미널에서는 mysql -u root -p 로 로그인하여 mysql command로 들어가 "SHOW PROCESSLIST"를 입력해주면 된다.

 

어쨌건... 용량 큰 테이블을 쪼개는 작업을 진행 중인데.. 

맨처음 설계부터 신중해야함을 다시한번 느낀다.

반응형