Bulk Insert : 데이터 베이스에서 대량의 데이터를 빠르고 효율적으로 삽입하는 방법. 일반적으로 데이터를 한 번에 삽입
주제1 | Bulk Insert |
작성이유 | 참고하기 위해 |
문제상황 데이터 저장 시 TypeOrm save 메서드 사용. 데이터 저장시 데이터 갯수만큼 SELECT 로그가 남는 것을
확인. 로직처리 시간이 느려진다고 판단
상황 | 쿼리를 사용하여 bulk insert 구현 |
결과 | 알림 100개 생성을 기준으로 2.1초에서 0.28초로 86%의 시간 감소 확인. 우리 서비스에는 맞는 선택임을 확인 |
결과 그래프 |
|
기타 | <꼭 Bulk insert 가 답인가?> 한 번에 많은 데이터를 처리하므로 메모리 사용량이 많아져 다른 작업이나 프로세스에 영향을 줌. 대량의 데이터 삽입시 인덱스나 제약조건이 있다면 삽입과정이 느릴 수 있으며 락이 걸릴 수도 있음 |