MariaDB1 [MariaDB] InnoDB의 DELETE와 단편화, 그리고 파티셔닝 검토 작업중인 프로젝트에서 시간이 지나면서 데이터가 계속 누적되는 테이블을 어떻게 관리할지 고민하게 되었다. 처음에는 일정 기간이 지난 데이터를 활성테이블에서 삭제하고 별도 테이블로 아카이빙하는 방식을 고민하다가 MariaDB의 파티셔닝을 도입하는 것도 방법이 되겠다는 생각을 했다.아카이빙 한 데이터를 삭제하는 방법에 대해 검토하다가, 디스크 단편화와 InnoDB 테이블 최적화 방식에 대해 알게 되었고 알게된 내용과 결론을 도출하면서 배운점을 정리하게 되었다. InnoDB 테이블 단편화와 최적화InnoDB에서 행을 DELETE 할 때, 행들이 즉시 물리적으로 제거되지 않는다. 백그라운드 스레드인 purge 스레드가 인덱스 키와 데이터 행을 삭제하지만, 삭제로 생긴 여유공간(free space)은 OS에 반환되.. 2026. 5. 15. 이전 1 다음