Batch Size 설정

LeeYulhee·2023년 7월 21일
1

👉 Batch Size 설정이란?


  • Hibernate를 사용할 때 세션 당 한 번에 데이터베이스에 보낼 수 있는 SQL 문의 최대 수를 설정하는 것을 의미
    • 이는 성능 향상을 위해 사용되며, 특히 대량의 데이터를 처리할 때 유용


👉 Batch Size에 대한 간단한 설명


  • 설정이 적용되는 경우
    • @Transactional 어노테이션이 붙은 메소드 내에서만 동작하며, 각각의 트랜잭션 별로 적용
    • EntityManager가 flush되거나 트랜잭션이 커밋될 때만 적용
    • INSERT, UPDATE, DELETE 작업에만 적용되며, SELECT 작업에는 적용되지 않음
  • Batch Size를 설정하지 않으면, 기본적으로 batch 처리가 비활성화 됨
    • 이는 실제로 Hibernate가 각각의 SQL 문을 개별적으로 실행하며, 한 번에 하나의 SQL 문만 데이터베이스에 전송한다는 것을 의미
    • 따라서, batch size를 설정하지 않으면 한 번에 데이터베이스에 보낼 수 있는 SQL 문의 최대 수는 1이 됨
      • 대량의 데이터 처리에 비효율적일 수 있음
  • Batch Size를 너무 크게 설정하면 메모리 사용량이 증가하므로 적절한 값을 선택해야 함
    • 일반적으로 batch size는 10~50 사이 값을 권장


👉 Batch Size 설정하는 방법


application.properties

spring.jpa.properties.hibernate.jdbc.batch_size=5

application.yml

spring:
  jpa:
    properties:
      hibernate:
        jdbc:
          batch_size: 5

📌 추가 설명

  • 위의 설정에서 5는 한 번에 데이터베이스에 보낼 수 있는 SQL 문의 최대 수를 의미
    • 값을 조정하여 애플리케이션의 성능을 최적화할 수 있음
profile
공부 중인 신입 백엔드 개발자입니다

0개의 댓글