100만 건 데이터 삽입
MySQL에 인덱스를 추가하고 성능 비교를 해보기 위해 DB에 데이터를 많이 넣어야 할 필요가 생겼다.
그래서 아래처럼 한번에 100만 건의 데이터를 삽입하는 Bulk Insert를 해보려고 한다.
기본적인 과정은 이전 글에서와 똑같다.
하지만 100만 건의 데이터를 생성하기 위해서는 메모리를 꽤 잡아먹는다.
만약 VM에 충분한 힙 메모리가 설정되어 있지 않다면 OutOfMemory 에러가 발생할 것이다.
그래서 이것과 관련해서 설정을 정리해보려 한다.
사용 기술
- Spring Boot 3.2.4 / gradle-kotlin
- Java 17, IntelliJ
- MySQL 8.4
- EasyRandom, SpringDataJpa, JDBC
1. 인텔리제이 설정
1-1. 메모리 표시기 활성화
윈도우에서는 Ctrl + Shift + A 를 입력하고 메모리를 검색하면 아래와 같은 창을 볼 수 있다.
맥에서는 Cmd + Shift + A
여기서 메모리 표시기를 켜고, 우측 하단에 추가된 메모리 표시기를 확인한다.
1-2. VM 설정 편집
마찬가지로 Ctrl + Shift + A 로 VM을 검색한 후 아래 사진처럼 설정한다.
여기서 -Xmx 설정이 힙 메모리 상한 설정이다.
여기서 해준 설정은 인텔리제이 VM 설정이기 때문에 아래 1-3 처럼 테스트 환경을 인텔리제이 빌드로 변경해야 한다.
만약 Gradle 환경에서 하고 싶을 경우 Gradle 힙 메모리 상한을 설정해주면 된다.
1-3. 테스트 환경 설정 변경
아래처럼 인텔리제이 설정 창에 들어가서 테스트 설정을 변경해준다.
2. 결과
OutOfMemory 에러 없이 DB에 100만 건의 데이터가 잘 들어간걸 확인할 수 있다.
'백엔드 > Spring Data' 카테고리의 다른 글
Bulk Insert 해보기 (0) | 2024.05.24 |
---|---|
DB에 여러 건의 데이터를 넣는 방법 (0) | 2024.04.23 |
스프링부트 실행 시 데이터 넣어두기 - Data.sql (2) | 2023.10.01 |