Delete1 Spring - MySQL 대량의 데이터 삭제하는 법(batch) Spring 프로젝트를 하던 중 테이블의 1000만건 이상의 데이터를 삭제해야 하는 상황이 있었다. 처음에는 1000만 건의 데이터를 DELETE query 한번으로 했으나,이렇게 되면 인덱스가 잡혀있더라도 삭제 - 재인덱싱하는데 100초이상의 시간이 걸렸다. (컬럼 길이에 따라 다르겠지만..) 그래서 삭제 주기를 늘리는 대신 일정 단위만큼 나눠서 삭제하는 방법을 선택했다. 1. MySQL 프로시저를 통해 삭제하는 방법SET @batch_size = 1000; -- 배치 크기 설정REPEAT DELETE FROM your_table WHERE your_index_column IN ( SELECT your_index_column FROM your_table .. 2025. 2. 9. 이전 1 다음 반응형