• mysql 데이터 삭제하다가 든 생각..

    2024. 11. 15.

    by. Sohyun

    검색속도 향상을 위해 인덱스를 추가하라고 하지만

    무지성으로 추가했다가는 대용량 데이터가 들어간 테이블인 경우 용량폭탄이 될 수 있다.. 

    이것은 삭제도 쉽지 않고 백업할때마다 가슴을 졸이게 하는

     데이터를 지워도 인덱스는 지워지지 않아..

    데이터 만큼 삭제한 데이터의 인덱스 유령이 용량을 잡아먹고 있을지도 있을지도 모른다..

    옵티마이저로 정리하려고 해도 mysql 버전이 지원 안하는데 어쩌라고 재 생성하고 analyze 하라고 버티면

    테이블을 재생성하는게 답일텐데 실시간으로 데이터가 들어오는 테이블을 쉽게 재생성할 수가 있을까

    데이터 유실을 감안하던가 다른 방법을 찾아야 하는데

    ..말이지요

     

    서버 용량을 늘리는 것은 차라리 쉬운일인데

    하지만 늘리면 쉽게 줄일 수가 없는 듯요

    그리고 늘려도 이런 문제가 계속된다면 늘린 티도 안나겠죠

     

    그래서 백업에 대한 정의와 삭제 정책이 있어야 하는 것 같다..

    데이터베이스와 서버는 무한한 요술항아리가 아니기 때문

    당장은 그냥 살기 버튼을 눌렀지만

    테이블을 두개에 쌓다가 하나를 끊기? 대신 idx(auto_increment)로 정렬하는 곳은 빼야 될 듯

     

    1천만건이 대용량이 아니라고 할 수도 있겠지만 서버 크기에 비하면 대용량이라고 생각함

     

    몇억건은 어떻게 처리하는 걸까

    댓글