최근 서버들을 대거 이전하면서 DB 서버 튜닝 설정을 기존 서버와 비슷하게 설정했음에도 불구하고 단순 조건 쿼리 조차도 매우 느려지는 현상이 발생하였습니다.
저는 주로 MariaDB 를 사용중인데 mysqldump 한 백업 파일을 다시 새로운 서버에서 복원해보니 단순 회원정보 가져오는 쿼리조차도 느려지더군요. explain 으로 확인해봐도 인덱스도 제대로 타고 있는데도 말입니다.
그래서 이사한 곳의 DB 서버 설정을 이리저리 바꿔보기도 하고 했지만 별 소용이 없었습니다.
혹시나 하는 마음에 optimize table 이 생각나서 수행해보니 이게 정답이었네요. 복원 후 테이블 최적화 꼭 해줘야 겠습니다.
crontab 을 활용해 주기적으로 아래와같이 mysqlcheck 명령어를 통해 DB 서버에 있는 모든 테이블에 optimize table 을 실행해 주는 것도 좋을 거 같습니다.
# mysqlcheck -o -A
예전에도 겪어봐서 기억하고 있던건데 다시 닥치니 생각이 안나더라고요. 그래서 적어둡니다. ^^