안녕하세요. postgresql을 얼마전 처음 접해봤습니다.
DB에 대한 지식이 별로 없는 상태입니다.
로그를 DB에 저장해서 웹에서 보여주는 프로그램을 돌리고 있는데요.
로그가 많아져서 날짜별로 테이블을 새로 생성해서 그쪽으로 옮기고 기존 자료는 삭제하는 형식입니다.
예) 기본 logs테이블에서 어제날짜의 데이터를 logs20090712 라는 테이블을 생성후 옮깁니다.
기존의 어제날짜의 데이터는 삭제합니다.
이와 같은 형식으로 백업을 하고 있는데요.
이렇게 계속 해주다보니 1~2개월 지나면 DB 속도가 느려집니다.
데이터 양이 많긴하지만 하루에 100만개가 안되거든요.
그냥 썼다 지웠다 한다는 것만으로 DB가 느려질 수 있나요?
pgadmin에서 그냥 행갯수 세는것만 해도 그냥 멈추다시피 합니다.
특히 이 과정에서 디스크 io쪽의 부하가 좀 많이 늘어나는것 같습니다.
같은 양의 데이터라도 처음 며칠간은 빠르다가 1-2개월정도 지나면 현저히 느려집니다.
이렇게 느려질때 위 예에서 logs테이블 자체를 drop하고 다시 생성하면 다시 처음 처럼 무지 빨라지고요.
이건 어떻게 해결해야하는지요?
|