3개월 이전 DB Data를 강제로 무시하는 방법 있을까요?
본문
안녕하세요
운영을 오래하다보니 DB가 많이 쌓여서 웹사이트 속도가 많이 느려지네요
Mysql 에서 강제로 3개월 이전 DATA를 무시하는 기능 같은게 있을까요?
where문으로 하는 방법 말고는 없는지..
고수님들의 답변 기다리고있겠습니다!
답변 6
where 빼고는 안되실것 같습니다.
다른 편법으로는
이전의 데이터를 백업용 db에 자료를 밀어넣고
실제로 사용중인 대용량의 db 테이블에는
해당 이전 데이터들을 삭제하는 방법이 있습니다.
추가적으로 커스텀된 db의 속도가 느리다면
db튜닝의 방법이 도움이 될수도있습니다.
무시한다? 무시해야하는 이유가 있나요?
목록페이지에서는 페이징으로 처리되니 큰 문제는 아닐꺼구
한페이지에 모두 보여지는 구조라면 문제가 되겠지만...
무시한다는것이 삭제를 한다는 것을 의미하는것은 아닌거 같고
그냥 안보이는 용도라면 where 문으로 현재시점 이점 3개월을 기준으로
일단 DB 쪽만 살펴 본다면
서버 호스팅인 경우 slow query log를 활용해 볼 수 있습니다.
그 안에서 검색해야할 쿼리가 많으면 느려지지
DB 자체의 크기가 크다고 속도가 느려지는게 아닙니다.
보통 DB누적의 경우 게시글이 다반사인데
10만건 이상의 글이 누적되어있다면 해당 게시판은 구버전 등으로 명칭하시고
새로 게시판을 만드셔서 활용하시는것도 좋습니다.
거꾸로 생각하시면 오늘부터 3개월꺼만 출력하는 것으로 생각해 보세요..
mysql 에 해당 기능은 없습니다.
DB 관련 속도가 늦은 원인을 구체적으로 파악한 뒤 개선하는 방안(인덱스 생성 등)을 검토해 보는 것이 좋을 것 같습니다.